暇つぶし2chat TECH
- 暇つぶし2ch348:デフォルトの名無しさん
22/07/17 23:49:55.40 ByZDr6EM0.net
お前のプログラムは
工場のロボットアームを動かすか?
病院の医療機器を動かすか?
空港の飛行機を飛ばすか?
ダムの水門を開くか?
防災装置を動かすか?
街に警報を鳴らすか?
電車の運行管理をするか?
精密部品のレーザー加工ができるか?
半導体を作れるか?
本やお札を印刷するか?
お前のプログラムは世界を動かしているか?
こういう仕事に関われないと
結局世の中に必要ないってことなんだぜ
それを忘れるなよ
その現場では最新技術なんて使われてはいないんだ

349:デフォルトの名無しさん
22/07/17 23:58:52.02 anUNIeB80.net
気持ち悪すぎワロタ

350:デフォルトの名無しさん
22/07/18 00:00:01.14 PCxCS/eQ0.net
言いたいことはわからんでもない
一時期は組み込みや制御系と比べて帳票出したり画面に明細表示するような仕事が同等とは思えなかった
最近は餅は餅屋だと割り切って目の前の仕事に集中するように切り替えたけど

351:デフォルトの名無しさん
22/07/18 00:12:21.41 /clcF0nA0.net
>>335について言えば
失礼だけど>>259以降のレス見る限りIT土方続けたほうがいい人材に見える
今時DAOベースのシステムが普通かどうかとか質問してる時点でロクに勉強してないのが分かるし
デスクトップアプリはどうたらぐちぐち言ってるが
その状態でWeb系行ったところで誰でもできる仕事しか任してもらえず同じことにしかならんよ
面白い仕事がしたいならまず技術を身につけろ

352:デフォルトの名無しさん
22/07/18 00:12:53.45 WqaevNOB0.net
>>こういう仕事に関われないと
>>結局世の中に必要ないってことなんだぜ
なんという選民思考だ
そもそも仕事として存在するなら誰かが必要としたってことだぞ

353:デフォルトの名無しさん (ワッチョイ f6bb-qysg)
22/07/18 00:48:13 J/WuRN6s0.net
>>335
黙々と目の前の仕事こなして生活の金貰えてりゃそれでいいんじゃねーの?
デスクトップアプリ作って金になるんならそれでいいだろ
現状に満足できないならここでうだうだ曖昧なこと言ってないでとっとと勉強して転職でもしろよ
つまらない仕事が辛いってのは同意だけど今のお前に何が出来るの?

354:デフォルトの名無しさん
22/07/18 01:07:40.05 NBG1oOLu0.net
>>308
DBにJSONを入れるんじゃないの?どゆこと?
保存先ってDBかファイルしかないと思うんだが

355:デフォルトの名無しさん
22/07/18 01:49:42.51 HfV+EUkpp.net
Windowsは64bit版だしメモリも16GB積んでるしで、
5GB超えるファイルをメモリに一気読みしようと
File.ReadAllBytesしたら2GB超えてるのでデカすぎると怒


356:られました じゃあってんで、FileStreamでReadしようとしたら 引数にはint32しか使えないので、長さ指定で一気読みも 読み込み位置指定で分割読みもできません どうするのが正しいのでしょうか



357:デフォルトの名無しさん
22/07/18 03:26:21.40 BheDIyMp0.net
2gb超えるファイル c#
でググったらありそうだったよ

358:デフォルトの名無しさん
22/07/18 03:38:22.73 Sge/OBzM0.net
>>345
Readだけでやろうとしてるってことかな?longオフセットでSeekしてから2GBのintの範囲でちまちま読むだけだよ
メモリマップを使う方法もあるがランタイムの実装の問題かWin32API程の速度は出ない

359:デフォルトの名無しさん
22/07/18 10:09:05.44 Fm3knAG80.net
大本のWin32APIのReadFileがuintで読み取りバイト数を受け取るから一度には4GBまでしか読めないしね

360:デフォルトの名無しさん
22/07/18 10:27:23.64 oHEOszJwM.net
>>345
バッファを1GB x 5とかにしてReadを繰り返せば?

361:デフォルトの名無しさん
22/07/18 11:22:20.32 9iZmYTdvM.net
1G以上を一気読みしてんの?
豪気だね
自分は小さなバッファでぐるぐるさせてるけどまあそれぞれやり方があるんだろうな

362:デフォルトの名無しさん
22/07/18 11:32:02.70 3U14fHdR0.net
確かに C# read huge file で検索すればいくらでも見つかるわな
ただし英語がわからない子にはつらいググるよね

363:デフォルトの名無しさん
22/07/18 11:33:15.60 1omE+gQaa.net
URLリンク(docs.microsoft.com)
URLリンク(docs.microsoft.com)

364:デフォルトの名無しさん
22/07/18 22:41:12.43 YPVdfKJLM.net
>>349のやり方サンプル
URLリンク(dotnetfiddle.net)

365:デフォルトの名無しさん
22/07/18 23:01:02.95 8lDJFmzD0.net
>>317
WPFやろう
winformとそんなに変わらん

366:デフォルトの名無しさん (ササクッテロラ Sp75-v9yF)
22/07/19 00:04:51 cnP8orP7p.net
345です
1GBずつ読み込むことにしました
まだこんな制約が残っているのが意外でした

367:デフォルトの名無しさん
22/07/19 07:19:11.53 prKmv0KHM.net
>>355
そうか、NTFSは4G越えると、undelete
するすべが無い事を知っておののけw

368:デフォルトの名無しさん
22/07/19 10:54:49.43 TuuoTUXUr.net
でかいデータは少しずつ

369:デフォルトの名無しさん
22/07/19 23:37:02.18 ItJIoKptM.net
1Gや5Gのファイルなんて直接丸々読んだことなんてないな
winで32ビットだとプロセス当たりでユーザーが使えるメモリは全て含めて2Gまでだったからな
DOSの頃だとは64KB壁があった
windows3.1からwin95なっても開発環境が対応してなくてまだ壁があった
それ以上のメモリを直接扱えなかったので64KBのブロックを配列でもってアクセスしてた
C#のご先祖様delphi(16bit)も同じ

370:デフォルトの名無しさん (ワッチョイ 6a2d-1xaO)
22/07/19 23:51:27 D+CimJEC0.net
3行目から後ろは要らんよ
今となっては何の参考にもならん

371:デフォルトの名無しさん (ラクッペペ MM0e-tsYU)
22/07/20 00:11:30 tWgqxNamM.net
自分が使う自分のプログラムなら自分のPCに合わせて大量メモリ好きなだけ使えばいい
自分の研究用とかならよくある話
ま、読み込み分割ぐらいバカでも書けるだろ
一般用として一般人に需要無いことを自覚してなおAPIの制限にけちをつけるのなら立派なマカーだ

372:デフォルトの名無しさん
22/07/20 03:27:01.46 kPGNXMXW0.net
そもそもC#って5ギガのbyte配列作れないよね
Macは5GBのファイルをメモリに一気読みできるの?

373:デフォルトの名無しさん
22/07/20 09:05:44.74 z1C6xKss0.net
記憶が正しければ「リード一回」は4GBが限界
確かNSInputStream.readがmaxLen引数をNSUIntegerで取ってたから
NSDataには仕様上エクサバイトまで初期化と同時に読み込めた筈だが
内部ではbyte配列を束ねて確保してるだろうから、File.readAllBytesと比較するのはちょっとズレてると思う

374:デフォルトの名無しさん (オッペケ Sr75-J8jO)
22/07/20 09:35:21 889JAPzur.net
ビッグデータとかに関わってるとそういうの頻出なのかしらん

375:デフォルトの名無しさん
22/07/20 09:48:12.67 pMjQmXrIM.net
ビッグデータはせいぜい数百MBくらいでファイルに分割して扱うから実はあまり関係なかったりする
分散処理を積極的に使う性質上、非常にインフラのトラブルを起こしやすいので、効率を犠牲にしても細かいノード依存の制約とか気にせずに大雑把に扱えるように設計する

376:デフォルトの名無しさん (ワッチョイ 8949-J8jO)
22/07/20 09:53:30 XONXHfOv0.net
はえー、そうなんだ

377:デフォルトの名無しさん (ワッチョイ 71da-5yMK)
22/07/20 09:56:23 L6JCmqAC0.net
google のアクセスデーターは塊で来るが、加工済みのを貰っているのかのぅ?

378:デフォルトの名無しさん
22/07/20 15:26:43.59 gyCFtoBM0.net
そんな面倒くさい事やるより
単純に手動でファイル分割すりゃ終わるんよ
俺はそうやって対応した

379:デフォルトの名無しさん
22/07/20 15:46:29.24 gv0+evicM.net
ギガ単位の一括読み込みが効率いいユースケースなんてある?

380:デフォルトの名無しさん
22/07/20 16:11:51.02 rtySiySx0.net
>>368
そもそも一括読み込みなんて無理な大きさの場合はデータごとにシーク位置のリストを作っておいて
その都度シークして読み込む
大抵はこれで行ける
例えリアルタイムのゲームでもね

381:デフォルトの名無しさん
22/07/20 16:14:00.13 kuLnetgIM.net
>>368
全域へのランダムアクセスが必要なケース
ソートなんかそうだな
事前に分割して各々ソートした上で最後にマージすることもできるけど、全部オンメモリに比べたら遅いよそりゃ

382:デフォルトの名無しさん
22/07/20 17:43:40.71 eiArQYUjM.net
読み込んだ後だけ考えたらそりゃメモリに乗ってる方がいいだろうけど
読み込むところも含めればソートだってストレージから読みながら分割して並列処理した方が効率いいでしょ

383:デフォルトの名無しさん
22/07/20 19:11:22.01 oyesoq1vM.net
手元にあるG単位のファイルって動画ぐらいだけど一気読みする利点はゼロ

384:デフォルトの名無しさん (オイコラミネオ MMad-GsVe)
22/07/20 19:18:07 oyesoq1vM.net
>>370
常識的に考えるとインデックスをソートするだろうな
それとも5Gのインデックスなんだろうか?

385:デフォルトの名無しさん (アウアウウー Sa39-flVQ)
22/07/20 19:52:04 Wcsdz2t6a.net
そもそも5Gを一気読みって指示してもOSは適当なサイズに分割して読み込むんだからあんまり意味ない

386:デフォルトの名無しさん (オイコラミネオ MMad-GsVe)
22/07/20 20:00:49 oyesoq1vM.net
泣きながら最後まで一気に読みましただっけ?

387:デフォルトの名無しさん (ワッチョイ f6bb-D50K)
22/07/20 20:05:56 NEo/Ls+t0.net
5Gなんて、ワクチン打てば瞬時に読み込めるだろ

388:デフォルトの名無しさん
22/07/20 22:12:36.45 HgV0a3Le0.net
入力バッファーのサイズはOSで変えられるんじゃなかったっけ?
でも5Gかあ
どっかのハードウエアが物理的に対応できない可能性はあるな

389:デフォルトの名無しさん
22/07/21 10:35:48.67 SIRf9/Re0.net
>>374
WindowsならOSレベルだと一気に読み込むことも可能
CreateFileでFILE_FLAG_NO_B


390:UFFERINGを指定して開くことでカーネルの一時バッファを介さずにストレージ→プロセスのメモリにダイレクトでIO出来る メモリアラインメントとバッファサイズをファイルシステムのセクタの倍数にしないといけないから面倒だが



391:デフォルトの名無しさん
22/07/21 10:51:29.63 i9T4zyPva.net
>>378
バッファリングの話じゃないよ
ディスクファイルってフラグメントもあるからドライバレベルでは分割されてるって話

392:デフォルトの名無しさん
22/07/21 11:56:22.98 SIRf9/Re0.net
>>379
うん、だから「OSレベルだと」と言った
フラグメントが一切なくシーケンシャルに読み込める場合でも基本は一度カーネルのバッファが通される
それを378で回避することも可能って話

393:デフォルトの名無しさん (アウアウウー Sa39-flVQ)
22/07/21 16:07:57 zJ650foVa.net
>>380
だからOSレベルでも5Gなんて一気に読めないって
Oracleみたいに専用のドライバ持ってるとかでないと無理

394:デフォルトの名無しさん
22/07/21 17:06:14.18 SIRf9/Re0.net
>>381
>>348で4GBまでしか読めないことは説明してるし5GBを一気に読めると言いたいつもりではなかった
カーネルのIOバッファ以上~4GB以下のサイズであれば>>374が言うようにWindows的には内部で分割して複数回に渡ってIOを行ってる
それをダイレクトに一気に行う方法もあるって話だけどまあ一般的には知る必要のない知識ではある

395:デフォルトの名無しさん
22/07/21 17:28:09.55 dDFi97kr0.net
>>382
結局分割してんじゃん
何がメリットだって言いたかったの?
マジでわからん

396:デフォルトの名無しさん
22/07/21 17:40:10.41 dTFhTK6qa.net
>>382
しつこいね、2GBとかでも専用ドライバでも作らないと一気に行くのは無理だって話だぞ
バッファリングしないことと一気に行けるかどうかは別の話

397:デフォルトの名無しさん
22/07/21 17:41:55.76 dTFhTK6qa.net
>>383
FILE_FLAG_NO_BUFFERING知ってる俺すげー君なんだろうと思う
そんな話は誰もしてないのにねw

398:デフォルトの名無しさん
22/07/21 19:03:57.53 e1iiLxv7a.net
そうやって誰も発言しなくなる

399:デフォルトの名無しさん
22/07/21 19:15:44.77 dDFi97kr0.net
こいつはいらねーだろ

400:デフォルトの名無しさん
22/07/21 20:43:01.59 SIRf9/Re0.net
>>383
メリット無いと思うならそんなフラグ用意してるMSがバカってことでいいんじゃね
俺はメリットありまくりだと思うからMSがバカだとは思わんけどな

401:デフォルトの名無しさん
22/07/21 21:30:51.00 v1bwr09cM.net
そんなに向きになる話なんだろうか
建設的じゃない

402:デフォルトの名無しさん (ワッチョイ 7579-D50K)
22/07/21 21:49:57 o92gVnUV0.net
64bitOSのくせにsigned intのせいで2GB制限て何なのって思うよな
64bitseekしてちょい読みは32bitの頃もやってたし

403:デフォルトの名無しさん (アウアウウー Sa39-flVQ)
22/07/21 22:11:36 h7wFy3dLa.net
>>389
引っ込みつかなくなってるだけでしょ
そもそもFILE_FLAG_NO_BUFFERINGはOSのバッファリングを回避してアプリケーションで制御するためのフラグででかいデータを一気に読むためのフラグじゃ無いし

>>390
だから5GBとか指定しても内部的には分割して読み書きしてるんだからあんま意味ない
ガチでやるなら専用ドライバからやらないとダメだし

404:デフォルトの名無しさん (ワッチョイ 71da-5yMK)
22/07/21 22:24:41 uwgzEVAr0.net
まっバースト転送は他デバイス使えば切れるし
C#スレで続ける内容としては終わりで良いんじゃね?

405:デフォルトの名無しさん
22/07/22 07:26:42.82 RqTlRDAlp.net
5ギガのbyte配列作れるようになってから再開しましょう

406:デフォルトの名無しさん
22/07/22 13:10:44.09 ZzUgbaoDd.net
WSLでも4GB制限あんの?

407:デフォルトの名無しさん
22/07/22 14:09:41.08 50nE7LhG0.net
まだやりたいなら自分で試すなり別スレ立てるなりしろよ

408:デフォルトの名無しさん
22/07/22 22:23:39.89 G0WVpIDv0.net
C#関連でレスバトルが発生するとき、
そこにはZuishinがいるのだ

409:デフォルトの名無しさん
22/07/26 22:53:34.71 AyLmuCWp0.net
今更だけどディープラー�


410:jング(AI)にも力入れてるんだなって記事 https://medium.com/@NegativeMind/c-%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B%E5%8F%AF%E8%AA%AD%E6%80%A7%E9%87%8D%E8%A6%96%E3%81%AE%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA-kelpnet-e887c7f31115 日本人なのが良いね



411:デフォルトの名無しさん
22/07/26 23:11:10.55 IrL7txwd0.net
■Voicy、1,600を超えるチャンネルのうち、半数が収益化を実現。声の
スポンサーなどの収益化プログラムを通じて、音声発信を収益の選択肢に。
株式会社Voicyが運営する音声プラットフォームVoicyでは1,600を
超えるチャンネルのうち約半数が収益化を実現、1ヶ月の収益が
800万円を超えるパーソナリティも生まれました。
クリエイターエコノミーという経済圏が期待されていますが、Voicyは声が
収益を得るひとつの選択肢となる土壌を整え、可能性を広げていきます。

412:デフォルトの名無しさん
22/07/27 08:20:26.86 xNqFXDdc0.net
>>397
古いわ
2年も前に更新が放棄されたようなライブラリを
使う奴は多分居ないな

413:デフォルトの名無しさん (アウアウウー Sa5d-R4TS)
22/07/27 10:06:00 elZrgoJKa.net
>>398
ちょまどが飽きたからオワコンだと思う

414:デフォルトの名無しさん (アウアウウー Sa5d-Ecv2)
22/07/27 12:05:32 ULjK+n4Sa.net
ちょまどどんだけ権力あるのよ

415:デフォルトの名無しさん
22/07/27 12:23:51.88 3GAh1Njq0.net
Xamarinが姫プで潰れたのにまだやってんのかすげーな

416:デフォルトの名無しさん
22/07/27 13:26:23.40 +1BW8lNBM.net
何年か前にMSのカンファレンスに行ったときはちょまどの祭り上げが酷くて、公式というのが信じられないレベルだったな
MS本社のお偉いさんも引いてた
さすがに昨今の時勢であれは問題になると思うが、まだやってんの?

417:デフォルトの名無しさん
22/07/27 17:40:52.28 qbX+34jla.net
もう旬を過ぎた歳だろw

418:デフォルトの名無しさん
22/07/27 19:01:23.92 H9RPm4O1M.net
旧統一教会の個人崇拝と変わらない気がするな
怖いな

419:デフォルトの名無しさん (ワッチョイ d901-FJRz)
22/07/28 00:38:46 gZpd6Q6N0.net
キショいから話題に出すなよ・・・

420:デフォルトの名無しさん
22/07/28 02:04:06.89 RLUbCsLl0.net
C#のちょまど、RubyのYugui

421:デフォルトの名無しさん
22/07/28 02:11:06.30 RLUbCsLl0.net
途中で書き込んじまった・・・・・
C#のちょまど、RubyのYuguiみたいに、各言語で有名人が出てきたら盛り上がりそう
一昔前だったら新しいOS等が出るたびに二次元キャラクターが作られていたりしたけど、やっぱ時代は3Dだ

422:デフォルトの名無しさん
22/07/28 02:12:56.52 fA0dLJTi0.net
wnnの

423:デフォルトの名無しさん
22/07/28 02:36:12.72 Pq2AIR8P0.net
藍澤光は一時期、話題になったな

424:デフォルトの名無しさん
22/07/28 09:57:27.77 TMsgccKL0.net
Perlのひろゆき

425:デフォルトの名無しさん
22/07/28 12:32:29.16 2Rw/B+fk0.net
Pythonのアフィカス

426:デフォルトの名無しさん
22/07/28 12:38:20.66 ZE8aUmrAM.net
rubyのちょMattz

427:デフォルトの名無しさん
22/07/29 07:28:23.86 mdlGGONh0.net
悍ましい

428:デフォルトの名無しさん
22/07/29 08:35:16.83 1GTLAz+N0.net
久しぶりにちょまど調べたら巨乳で美人になっててワロタ

429:デフォルトの名無しさん
22/07/29 09:22:18.76 svfZpDYP0.net
アベマでニュース番組のMCとかやってるしもはや芸能人

430:デフォルトの名無しさん
22/07/29 10:18:53.57 83FCGJIu0.net
昔はちょまどさんは貧乳だったのですか?

431:デフォルトの名無しさん
22/07/30 09:24:21.97 Gq7vfC3O0.net
>>377
その昔ReadFileで16 MiBytes読めなかった思い出

432:デフォルトの名無しさん
22/07/30 09:58:01.85 paa5jUiAa.net
64KBの壁な

433:デフォルトの名無しさん
22/07/30 11:23:09.45 YI8isAMRM.net
スレの上の方でその内容を書いたら辛辣な言葉を投げかけられた

434:デフォルトの名無しさん
22/07/30 11:25:51.44 WggjO0SM0.net
>>420
64KBの壁な w

435:デフォルトの名無しさん
22/07/30 11:44:12.32 paa5jUiAa.net
これのことかω
>>83

436:デフォルトの名無しさん (ラクッペペ MMee-RMTR)
22/07/30 15:42:48 cxvuT0ApM.net
この程度で辛辣とは

437:デフォルトの名無しさん
22/07/30 16:25:34.65 XjLs7eTw0.net
mac の A5の悲劇なんて32Kbなんだがのぅ

438:デフォルトの名無しさん
22/07/30 21:46:46.80 w6XZ/eyH0.net
質問が少なくなるとああ夏休みなんだなと感じる

439:デフォルトの名無しさん
22/07/31 02:09:12.35 usagdBtl0.net
Yuguiというのを初めて聞いたからググったけどうーんとなった
ちょまどは胸でけーと思ってたのに水着画像出したらそんなでもなくてあれ?って

440:デフォルトの名無しさん (ワッチョイ 0d05-Og+R)
22/08/01 09:14:25 8QYJLp9l0.net
IPC通信をしたくて他所様のサイトをコピペしてプログラムの動作を見てみようと思ったのですが
System.Runtime.Remoting.RemotingException: '型 'IPCクライアントコンソール.SampleRemoteObject,
IPCクライアントコンソール, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' を読み込めません。'
とエラーが出てしまいます。以下プログラムのどこが問題でしょうか?

441:427 (ワッチョイ 0d05-Og+R)
22/08/01 09:18:18 8QYJLp9l0.net
文字数制限にかかったのでプログラムを分けました。よろしくお願いします。
■サーバ
class Program{
static void Main(string[] args){
IpcServer server = new IpcServer();}
}
class IpcServer{
public SampleRemoteObject remoteObject;
public IpcServer(){
IpcServerChannel ipcChannel = new IpcServerChannel("ipcSample");// IPC Channel作成
ChannelServices.RegisterChannel(ipcChannel, true);// チャンネル登録
remoteObject = new SampleRemoteObject();// リモートオブジェクト生成
RemotingServices.Marshal(remoteObject, "test", typeof(SampleRemoteObject));
}
}
■クライアント
class Program{
static void Main(string[] args){
IpcClient client = new IpcClient();// クライアントオブジェクト生成
client.remoteObject.Command = Console.ReadLine();// 送信する文字列の入力
}
}
class IpcClient{
public SampleRemoteObject remoteObject;
public IpcClient(){
IpcClientChannel channel = new IpcClientChannel();// クライアントチャンネル生成
ChannelServices.RegisterChannel(channel, true);// チャンネル登録
remoteObject = Activator.GetObject(typeof(SampleRemoteObject),
"ipc://ipcSample/test") as SampleRemoteObject;// リモートオブジェクト取得
}}
■共通オブジェクト
public class SampleRemoteObject : MarshalByRefObject{public string Command { get; set; }}

442:デフォルトの名無しさん (オイコラミネオ MMbd-dSCr)
22/08/01 09:42:13 IeJPEKz9M.net
IPC通信はもう使わないほうがいい
多分誰も使ってない

jsonとか投げたほうがまし
もうサポート切られるだろう

443:デフォルトの名無しさん (ブーイモ MM9a-Ar6L)
22/08/01 10:12:56 qGmq8aN9M.net
.NET Remortingは.NET5以降で廃止されたから今更使っちゃダメ
なおWCFも廃止され、MSの今の推奨はgRPC

444:デフォルトの名無しさん
22/08/01 13:13:50.40 gUPs6Ohv0.net
でもプリインは.NET Framework4.8でしょ?

445:デフォルトの名無しさん
22/08/01 14:09:10.88 9ms8u+Pj0.net
いまどき2029年とかまでサポートしてくれるんだもんな、偉いよMS

446:デフォルトの名無しさん
22/08/01 14:12:12.27 ix57TGyWM.net
>>431
5以降は実行環境に.NETをインストールする必要がなくなったから関係ない
アプリに.NETを同梱して配布するのが今のスタンダードであり、今後.NETの新バージョンがWindowsにプリインされることは恐らく無い

447:デフォルトの名無しさん
22/08/01 14:51:18.83 YHYFdRah0.net
でも5以降はすぐサポート切れちゃうじゃん

448:デフォルトの名無しさん
22/08/01 15:07:06.39 09AtLgAc0.net
どうでもいいから質問に答えてやれよ
俺は知識ないから無理

449:デフォルトの名無しさん
22/08/01 15:43:14.07 kNeknzrgd.net
3.5のようには4系は切れないんじゃないかな
始めからcoreしかない環境ならともかく

450:デフォルトの名無しさん
22/08/01 15:44:46.74 GQMzgwKzd.net
サポートは切れないだろうけど、近いうちにオプション扱いになるだろうね

451:デフォルトの名無しさん
22/08/02 05:24:33.21 dOTebwan0.net
namespaceと名前空間の名前が似てて初心者分かりづらくなってると思うんだけどどう思う?
普通に名前空間はライブラリ名とかでよくね?と思ってるんだが

452:デフォルトの名無しさん (ワッチョイ 4541-+nKW)
22/08/02 07:21:26 k80TbHLa0.net
roadと道路は似てるね

453:デフォルトの名無しさん
22/08/02 08:18:52.40 sghojaj2r.net
そうどちらも~目的のた~めに~

454:デフォルトの名無しさん
22/08/02 09:13:26.29 dOTebwan0.net
今のVScってWinUI3で書かれてんのかな?

455:デフォルトの名無しさん
22/08/02 09:36:31.99 jfVGGafFM.net
VSCodeはElectron
VSCodeはMSスタック外のコミュニティから不信感を持たれないようにブランディングにかなり気を使ってるから、
一応クロスプラットフォーム対応だがWinファーストの印象を強く与えるWinUI採用はありえない
Flutterとかなら将来的にはあるかもね

456:デフォルトの名無しさん (ワッチョイ 7a01-7LJf)
22/08/02 10:33:29 dOTebwan0.net
>>442
へー道理でクソダサいと思った

457:デフォルトの名無しさん (ワッチョイ 9949-BIed)
22/08/02 11:02:31 Gd43XZqn0.net
VScodeいいよね、今はVSも良くなったけど
最近ではwinでは1番人気と言われても異論ないやろ
エンジニアの欲しい部分を攻めたいい製品だよ

458:デフォルトの名無しさん (ワッチョイ 56bb-qaF0)
22/08/02 11:10:07 aTV235290.net
C#だとVS一択でcodeは使用しないと思ってたんだけど使うの?

459:デフォルトの名無しさん (ブーイモ MMee-Ar6L)
22/08/02 11:16:03 OztZOyOvM.net
C#でもWeb開発ならVSCodeで十分いける
最近はフロントエンドの比重が大きくなってるから、自分の場合はVSCodeに寄せたほうが開発効率が高い

460:デフォルトの名無しさん (ワッチョイ 56bb-qaF0)
22/08/02 11:20:10 aTV235290.net
フロントか!

なんか頭が硬かったかも
さんきゅ

461:デフォルトの名無しさん (ワッチョイ c587-OtAY)
22/08/02 11:23:59 rs6fnhcJ0.net
>>438
namespaceと名前空間って何か違うの?

462:デフォルトの名無しさん
22/08/02 11:32:28.03 dOTebwan0.net
>>448
そりゃ違うでしょ

463:デフォルトの名無しさん
22/08/02 11:40:30.28 C80vNjl9r.net
VSCodeはマルチスレッドではないから激重

464:デフォルトの名無しさん
22/08/02 12:31:34.28 7h3r7KZi0.net
>>432
3.5も切ってくれれば喜んで4.8に移行するのにと
未だに2.0がメインの俺社

465:デフォルトの名無しさん
22/08/02 12:47:10.72 5WShikIl0.net
今どき2.0はきつすぎるな・・・乙

466:デフォルトの名無しさん (ワッチョイ faad-//s3)
22/08/02 13:46:27 d+m2jlTe0.net
>>449
え?

467:デフォルトの名無しさん
22/08/02 14:49:22.13


468:f8W0+U3I0.net



469:デフォルトの名無しさん
22/08/02 15:06:09.69 Gd43XZqn0.net
どうでもいいけど無駄に煽るやつ増えたよな、夏休みか

470:デフォルトの名無しさん
22/08/02 16:19:25.27 rs6fnhcJ0.net
>>449
同じものだと思ってたんだけど、何が違うの?

471:デフォルトの名無しさん
22/08/02 17:11:29.89 clHk+QvDM.net
文字数が違うな

472:デフォルトの名無しさん
22/08/02 17:26:15.48 aTV235290.net
文脈で違いのあるケースはある
たとえば、namespace はキーワードだけど名前空間はキーワードじゃないとか
ただ今暴れてるやつはただのアホだろ

473:デフォルトの名無しさん
22/08/02 18:00:45.92 UKGz6HDN0.net
C#に限らず初心者板には必ず中身のない煽りカスが枠からシカトでok

474:デフォルトの名無しさん
22/08/02 22:55:25.35 fEaKkp4Yr.net
初心者だけどclassって1class1.csファイルで作ったほうがいいのかね?
今はmain.csに全部記入してるけど

475:デフォルトの名無しさん
22/08/02 23:09:08.14 UKGz6HDN0.net
その認識で問題ない
更にファイル名とクラス名を一致させとくとVSはファイル名変更したら自動でクラス名も変更してくれた気がする

476:427 (ワッチョイ 8ee9-Og+R)
22/08/02 23:37:30 HIxaLOVl0.net
もうIPC通信は使わないんですね。
教えて貰ったgRPCを調べてみます。ありがとうございます。

477:デフォルトの名無しさん
22/08/03 07:11:42.49 oaEyiw1/r.net
>>461
なるほどサンクス

478:デフォルトの名無しさん
22/08/03 10:00:34.32 aXt/7uHrd.net
>>461
フォルダ階層とnamespaceも一致してないとだめなんじゃなかったっけ?

479:デフォルトの名無しさん
22/08/03 10:28:26.50 H0TN7wdQ0.net
namespaceだけ変えて試したけど自動で変更されたよ
仕様は知らんからまあ参考程度に

480:デフォルトの名無しさん
22/08/03 10:54:17.16 o11ILsU3d.net
>>465
おぁ、ありがとう。勘違いだったかな。申し訳ない

481:デフォルトの名無しさん
22/08/05 08:16:03.80 PgkbhFj60.net
Classの変数をMainクラスに持ってきたいのですがどうすればよいでしょうか。
URLリンク(imgur.com)

482:デフォルトの名無しさん
22/08/05 08:19:51.47 PgkbhFj60.net
すみません。
上のplayListって変数を
URLリンク(imgur.com)
のコメントアウトしているplayListRight.ItemsSorceにぶち込みたいです。
あとplayListRight.ItemTempleteにも上のクラスのtempleteをブチコみたいです。

483:デフォルトの名無しさん
22/08/05 08:19:52.21 cUxq6qzs0.net
>>467
public

484:デフォルトの名無しさん
22/08/05 08:21:43.35 PgkbhFj60.net
すみません最初の画像jpegで貼れていなかったので貼りなおします。
URLリンク(imgur.com)
URLリンク(imgur.com)

485:デフォルトの名無しさん
22/08/05 08:23:52.62 PgkbhFj60.net
>>469
public string playList
ってやるとMainクラスでも使えるようになるのですか?

486:デフォルトの名無しさん
22/08/05 08:42:07.22 H/H3flpk0.net
とりあえず要望を満たすだけなら、PlayListViewCenterクラスにPlayListプロパティを作ればよさそうに見えるが
根本的にはPlayListView()でプレイリストの読み込みまでやってるのは詰め込み過ぎだろう

487:デフォルトの名無しさん
22/08/05 08:46:35.55 PgkbhFj60.net
>>472
最初Mainクラスのメソッドにしてたのですが長ったらしいなと感じてクラスにそのメソッド入れたのですがそのままMainクラスのメソッドとして入れておいたほうが無難でしょうか?

488:デフォルトの名無しさん
22/08/05 08:53:40.09 H/H3flpk0.net
>>473
一つのクラスであれもこれもやろうとしない
そのへんの考え方の詳細は単一責任の原則でググってくれ

489:デフォルトの名無しさん
22/08/05 08:56:48.47 PgkbhFj60.net
>>474
ありがとうございます、調べてみます

490:デフォルトの名無しさん
22/08/05 10:00:11.06 PgkbhFj60.net
プロパティを追加すると言っていましたがこのような形でよいのでしょうか?
PlayListViewメソッドのplayListをPlayListプロパティに入れる方法がわかりません、、、

491:デフォルトの名無しさん
22/08/05 10:01:02.95 PgkbhFj60.net
すみません。画像上げ忘れました。
URLリンク(imgur.com)

492:デフォルトの名無しさん
22/08/05 12:38:36.41


493:RSiO7Ssf0.net



494:デフォルトの名無しさん
22/08/05 12:56:56.63 H/H3flpk0.net
いくら初心者スレとはいえ、プロパティへの代入方法を聞かれるとは…
>>478
メンテってよりはどっかのサンプルを切り貼りしてるだけっぽくみえね?

495:デフォルトの名無しさん
22/08/05 13:47:33.34 hxnnat6YM.net
PlayListViewCenterとPlayListView()とplayListRightの関係性がよくわからん
依存関係が整理されてないとこのレベルでも簡単にスパゲッティ化するのね

496:デフォルトの名無しさん
22/08/05 14:01:15.91 +4dBSHs70.net
最初フォームにコントールを貼り付けていった。
ああ、コントロールの数が多くなってきたのでタブ化したい。
それでタブコントロールをフォームに貼り付けて以前のコントロールを
切り取ってタブに貼り付けてもだめでした。
簡単な設定変更でできるもんでしょうか?

497:デフォルトの名無しさん
22/08/05 14:53:00.30 mvNI8q0IM.net
プロパティは俺も最初よく分からんかったな
俺より先に入社してきてまだプロパティのgetじゃなくてgetter関数作ってる奴もいるけれど

498:デフォルトの名無しさん
22/08/05 15:10:35.53 PgkbhFj60.net
サンプル切り貼りしただけですね。
xamlのListViewにx:NameとしてplayListRightをいれていてそいつにアンドロイドからのファイルのフォルダー一覧を表示させたいってことなんですけど、、、
いろいろ試してみましたが無理そうです。無難にPlayListViewメソッドをMainClassにいれます、、、

499:デフォルトの名無しさん
22/08/05 15:42:07.03 PgkbhFj60.net
どうやってPlayListプロパティにPlayListView関数のplayList変数を入れるとか全く検討がつかないのですがどうやれば良いのでしょうか?

500:デフォルトの名無しさん
22/08/05 15:46:42.03 ICqeCpci0.net
まず日本語を勉強します

501:デフォルトの名無しさん
22/08/05 15:51:27.56 PgkbhFj60.net
>>485
というと?

502:デフォルトの名無しさん
22/08/05 16:56:32.29 1Rrd8aoz0.net
public ObservableCollection<PlayFile> PlayList { get; private set; };
プロパティの宣言をこうしておいてPlayListViewの最後で
this.PlayList = playList;
を入れたら期待通りの結果にはなる

503:デフォルトの名無しさん
22/08/05 17:17:58.37 PgkbhFj60.net
>>487
できました。
ありがとうございます。
メソッド内でプロパティ名に変数を渡せばよいのですね。

504:デフォルトの名無しさん
22/08/05 17:55:56.37 aTGNTU2eM.net
な?WPF流行らない臭いするだろ?

505:デフォルトの名無しさん
22/08/05 18:11:42.31 PgkbhFj60.net
>>489
なぜですか?

506:デフォルトの名無しさん (ワッチョイ 4d79-bL0y)
22/08/05 19:41:14 T806aXM50.net
>>490
さっきやったやつ
誰でもできそう?

507:デフォルトの名無しさん
22/08/05 19:57:53.24 Ow3srsZsr.net
>>491
慣れたらいけるのでは?

508:デフォルトの名無しさん (ブーイモ MMee-iIOf)
22/08/05 21:03:37 kbVXsa8pM.net
View/ViewModel/Modelあたりの分離が出来てないのとWPFは関係なくね?

509:デフォルトの名無しさん
22/08/05 21:14:35.76 cUxq6qzs0.net
WPFは外側だけ使えばいい

510:デフォルトの名無しさん
22/08/05 23:31:23.20 nKjrktLW0.net
外側て何?

511:デフォルトの名無しさん
22/08/06 06:43:47.00 YGqtJRNu0.net
>>495
UI側ってことでしょう

512:デフォルトの名無しさん
22/08/06 07:25:26.78 nHm0QuCiM.net
WPFのUI側でない部分とは?

513:デフォルトの名無しさん
22/08/06 07:44:04.39 d0E+uIxOM.net
2006年のものに流行りもクソもあるのか?

514:デフォルトの名無しさん
22/08/06 09:32:14.62 YGqtJRNu0.net
WinUIは流行るのか?
かっこいいけどなぁ

515:デフォルトの名無しさん
22/08/06 11:49:57.93 Mx8J9HCy0.net
最近まで知らなかったんだけど、
MessageQueue って Core 以降無くなったんだな。
4.8で提案しといて助かった。
URLリンク(docs.microsoft.com)

516:デフォルトの名無しさん
22/08/06 13:09:28.58 bZh5L3OZM.net
MSMQを念頭に置いているとはいえAMQPとかでも普通に実装できそうだからCoreに移植されても全然おかしくないだろうけど、戦略的な除外だろう
MS的にはAzure Service Busを推したいところだから代替はないかとMSに相談してきた客をAzureへ誘導できるし、
似たようなものをAWSとかでセルフホストできてしまう選択肢は積極的に潰しておきたかったんだろうね

517:デフォルトの名無しさん
22/08/06 15:55:35.74 fi6gTDde0.net
>>499
WinformやWPF並みの完成度と、開発環境が整えられれば流行る可能性はある
今のWinUI3はまだそれらがない

518:デフォルトの名無しさん
22/08/06 19:42:37.30 B4aY99WN0.net
Visual Studioを使わずにテキストエディタで書いているのですが、
WebView2はどのように宣言すればいいのでしょう?
ネットで拾ったソースコードをそのまま使おうとすると、
System.ComponentModel.ISupportInitalizeが参照されていないアセンブリで定義されていますとか、
webView2はコンテキスト内に存在しませんといったエラーが出てしまいます。
using Microsoft.Web.WebView2.Core;でエラーは出ないので、
dllの参照は上手く行っているようなのですが。

519:デフォルトの名無しさん
22/08/06 19:53:35.54 h2EHbeov0.net
.NET Framework向けか.NET(Core)向けかWinFormsかWPFかも分からんけど
自分で解決できないならまだテキストエディタで済ます段階ではないので
素直にVS使おう

520:デフォルトの名無しさん
22/08/06 20:27:31.37 B4aY99WN0.net
>>504
使えない状況なのでテキストエディタで書いています。

521:デフォルトの名無しさん
22/08/06 20:48:39.60 B4aY99WN0.net
すみません、自己解決しました。
dllが足りなかっただけでした。

522:デフォルトの名無しさん
22/08/07 08:35:31.35 zuBhJhyh0.net
>>481
それでできるはずだと思うけど、どうだめだったの?
各コントロールの設定が消えてしまったのなら、そういうもの。
設定を消したくなければ、一旦フォームをぐわっと拡げて、
既存のコントロールとタブコントロールを同時に表示するようにして
ドラッグして移動させると設定は消えないけど、そういうことじゃない?

523:デフォルトの名無しさん
22/08/08 10:38:51.65 ltHVcLml0.net
複数個所から参照されているクラスのインスタンスがあります。
このインスタンスへの参照を全てnullにする機能はC#にありますか?
もしあるようでしたら、方法を教えて頂けると助かります。

524:デフォルトの名無しさん
22/08/08 10:54:39.76 Zu2CvCE20.net
>>508
パッと思いつく限りだとclassでラップするっていう原始的方法くらいしか思い浮かばない

525:デフォルトの名無しさん (ブーイモ MM8b-zDOG)
22/08/08 13:06:08 lyYbsRurM.net
>>508
なんでそんなことしたいの?

526:デフォルトの名無しさん (ブーイモ MM8b-zDOG)
22/08/08 13:07:38 lyYbsRurM.net
弱参照使うか
オブザーバー使ってそれぞれ更新するかかな
他にもやり方あるだろうけど達成したい目的次第

527:デフォルトの名無しさん
22/08/08 19:52:41.64 DioK39uS0.net
>>507
下記がオブジェクト参照がオブジェクト インスタンスに設定されていませんとか出て
すぐにできないんだなとおもってユーザーコントロールにはっつけてやり直してました。
Controls[$"textBox{i}"].Text = sb.ToString();
エラーのところコメント化して動くかみるとああ、基本的にフォームに貼り付けたものひっぱってくるだけで動くんですね。
ありがとう。

528:デフォルトの名無しさん
22/08/08 20:09:42.36 9R7bGCkQM.net
>>512



529:ワずそのゴミプログラム方法をやめろ どこの誰がそんな糞みたいなやり方を教えたんだ? -1万点だぞ



530:デフォルトの名無しさん
22/08/10 08:10:20.13 I7WycSNa0.net
Controls[$"textBox{i}"]ってのあかんの?
便利やなと思ってたけど

531:デフォルトの名無しさん
22/08/10 08:20:57.21 ekVbncrCd.net
設定より規約という言葉もあることだし、ちゃんと管理できてるならいいと思うよ
手で配列作ったりするのはミスの原因になるからむしろダメ

532:デフォルトの名無しさん (ワッチョイ c107-7nbs)
[ここ壊れてます] .net
この場合はデータバインディングすべきでしょ

533:デフォルトの名無しさん
22/08/11 09:46:17.83 bzSgGXTd0.net
名前でひっぱって来るって相当な富豪プログラミングだな
恥かしい名前付けてたらばれるやん

534:デフォルトの名無しさん
22/08/11 10:55:14.05 L4K0queg0.net
そういやjavaだとクラス名の文字列からクラス生成できたっけな

535:デフォルトの名無しさん
22/08/11 11:00:56.57 GF5pk2No0.net
名前でアクセスするようにしてると、リファクタリングした時に死ぬ

536:デフォルトの名無しさん
22/08/11 11:19:42.29 vAulrAya0.net
>>518
C#だって出来るよ

537:デフォルトの名無しさん
22/08/11 11:23:07.46 bzSgGXTd0.net
できるできないじゃない
やるかやられるかだといつも言ってるだろ

538:デフォルトの名無しさん
22/08/11 12:09:59.60 iYrezZwUa.net
いや、挿すか挿されるかだ

539:デフォルトの名無しさん
22/08/11 20:59:48.25 lZmFgICj0.net
でぃぺんだんしーいんじぇくしょん!!

540:デフォルトの名無しさん
22/08/12 13:14:48.49 QghzorUzM.net
プログラミング言語C#の欠点
スレリンク(news4vip板)
立てました!

541:デフォルトの名無しさん
22/08/12 14:24:33.30 k3dld6/ur.net
>>524
ないよ?

542:デフォルトの名無しさん
22/08/12 14:25:12.55 k3dld6/ur.net
これライブラリ化したいんですが可能ですかね?
URLリンク(qiita.com)

543:デフォルトの名無しさん
22/08/12 20:49:41.62 W9k2A9pZr.net
複数のプロジェクトにわたるクラスをライブラリ化って厳しいんですかね?

544:デフォルトの名無しさん
22/08/12 22:01:15.30 nwtzDlak0.net
そんなデカイクラスってあんの?

545:デフォルトの名無しさん
22/08/12 23:07:18.85 5/2owLeW0.net
複数のプロジェクトで使用するクラスだからこそライブラリにするんじゃないのか?

546:デフォルトの名無しさん
22/08/12 23:13:47.26 8yQHi8YE0.net
ライブラリの作り方が判らんって話?
・クラスライブラリのプロジェクト作る
・プロジェクトにライブラリにしたいソースぶち込む
・他プロジェクトからDLL、またはライブラリのプロジェクトを参照する
みたいな感じ

547:デフォルトの名無しさん
22/08/12 23:32:18.36 nwtzDlak0.net
目的は何なん?
ライブラリ化なんかして複数プロジェクトなんかで呼んじゃうと
影響範囲もそれなりだからね
あーソースコピってビルドしておきゃよかったなんてよくある話だよ

548:デフォルトの名無しさん
22/08/13 00:10:08.14 bvO6Jh/U0.net
複数のDLLで構成されたライブラリになるだけで普通に作れると思うけど

549:デフォルトの名無しさん
22/08/13 01:03:16.57 X5MwWX870.net
>>531
コピっていい事なんて殆どないだろ
そういう感じのソースがそこら中のプロジェクトに散らばって亜種だらけになった現場悲惨だったぞ

550:310
22/08/13 01:18:32.52 w1Rw8Hpr0.net
レベルの低い現場あるあるやね
コピーしちゃえば少なくとも今動いてるコードは壊れないからね
ただ>>533の言う通り亜種だらけになって共通不良の対策で地獄を見るんだけどね

551:デフォルトの名無しさん
22/08/13 08:14:45.82 qT9RB751r.net
xamarin用のクラスなんだけどPLCっていう共通部分のクラスとiOS,Android用のクラスがいる
これ使うときって各プラットフォームにそれぞれのDLLファイル入れて参照しとけば良いって感じなんかな?

552:デフォルトの名無しさん
22/08/13 09:36:31.24 dwJuX57c0.net
URLリンク(clown.cube-soft.jp)
こんな方法で

553:デフォルトの名無しさん
22/08/13 09:59:42.33 qT9RB751r.net
>>536
ライブラリを作るよりもリンクのほうがいいんですかね?

554:デフォルトの名無しさん
22/08/13 10:01:15.56 X5MwWX870.net
可搬性悪くなるからやめたほうがいい
素直にライブラリプロジェクト作れ

555:デフォルトの名無しさん
22/08/13 10:09:16.92 qT9RB751r.net
Caseの中で作った変数を他のCaseで使ったりするにはどうすれば良いでしょうか?
今xamarinのドラッグ操作で最初にタップした位置を取得しドラッグ中に位置を取得したとき最初のタップした位置と現在のドラッグしてる位置を引くとタップした位置からの変化量が出ると言うようなプログラミングを組んでます
Switch
Case1 タップしたとき
A=タップしたときの位置
break
Case2 ドラッグしたとき
B=ドラッグした際の位置
C=A-B
break
としてます
A,B,C,の変数は別クラスでプロパティ化してます

556:デフォルトの名無しさん
22/08/13 10:12:52.95 qT9RB751r.net
>>538
とりあえずライブラリ化してみます
iOSやAndroidで必要なクラスは別でライブラリ名.iOSやライブラリ名.Androidで別で作って各プラットフォームにそのdllファイルを参照すれば良いですかね?

557:デフォルトの名無しさん
22/08/13 10:33:02.18 dwJuX57c0.net
リンクでやっといて困ったらライブラリ作れよ
バージョン毎の機能を管理できるならライブラリだけど
今の用途はリンクで十分なんだろ?

558:デフォルトの名無しさん
22/08/13 10:34:45.76 qT9RB751r.net
>>541
リンクでいいのか

559:デフォルトの名無しさん
22/08/13 10:40:28.03 dwJuX57c0.net
>>542
置かれてる状況次第
その環境でライブラリのバージョン管理をしない文化=常に最新をとってこいと言われるならリンクのがいいし
バージョンいくつはねーって仲間内で共有できる文化があるならライブラリにしなきゃあかんし
1人開発ではライブラリのメリットはほぼないね

560:デフォルトの名無しさん
22/08/13 10:43:05.34 qT9RB751r.net
>>543
個人開発は利点ないんですねサンクス
リンクにします

561:デフォルトの名無しさん
22/08/13 10:51:27.29 iS8x5SUl0.net
ソースファイルをリンクするってことは最新のソースコピペってことだろうか
ライブラリを修正したら参照してるプロジェクト全部ビルドする必要あるってことだよね…

562:デフォルトの名無しさん
22/08/13 10:55:12.82 qT9RB751r.net
ところでCase内の変数を呼び出すことってできるのでしょうか?
>>539
の方法でやると何故かタップしたときのAはCase1ではきちんと動くのですが
Case2内のAは0のままです

563:デフォルトの名無しさん
22/08/13 10:56:50.74 X5MwWX870.net
リンクでやるとパス変わっただけで使えなくなるからなぁ
絶対名前変えたり動かしたりしないってのなら大丈夫だろうけど
本当に個人開発でしか使えない

564:デフォルトの名無しさん
22/08/13 11:17:02.76 WN46//k40.net
質問の意図もイマイチ分からんしどんな実装しているのか分からんけど
過去の結果はどこかで保存してなきゃそりゃ参照できる訳無いよなw

565:デフォルトの名無しさん
22/08/13 11:23:08.96 bvO6Jh/U0.net
>>546
プロパティのコピーをいじくり回してるに一票
タップしたタイミングで正常な座標がちゃんと別クラスのプロパティAに格納されているかまずは確認しろ

566:デフォルトの名無しさん
22/08/13 11:26:22.92 qT9RB751r.net
>>548
case内で保存した変数を使おうとしたら未割り当てのローカル変数が使用されましたになって使えないのですが…

567:デフォルトの名無しさん
22/08/13 11:27:48.39 NjwDb13X0.net
>>539
そもそもswitchの使い方がおかしい
・最初にタップした位置の取得
・ドラッグ中の位置の取得
・タップした位置からの変化量の算出
それぞれ別関数(イベントハンドラ)でやるべき

568:デフォルトの名無しさん
22/08/13 11:29:20.07 qT9RB751r.net
>>549
Case1内でAの値を表示するプログラムを作るとちゃんとAの値が表示されます
これをCase2に持ち込むとプロパティなら0になり、変数なら未割り当てのローカル変数が使用されましたになります

569:デフォルトの名無しさん
22/08/13 11:32:53.56 qT9RB751r.net
>>551
なるほどSwitchがおかしかったのかもしれないですね
この最初の項目をやろうとしてたのでSwitchで良いのかと思ってました
ただそうなるとタッチアクションイベントの中にイベントハンドラーを追加することになるのでしょうか?
URLリンク(docs.microsoft.com)

570:デフォルトの名無しさん
22/08/13 11:37:06.17 bvO6Jh/U0.net
>>552
Case1内でAの値じゃなくプロパティの値を表示しろ
てか他クラスのプロパティならhoge.Aって書くよな?
なんでhoge.省略してんの?

571:デフォルトの名無しさん
22/08/13 11:42:23.15 WN46//k40.net
>>550
まぁ、何で失敗しているかは何となく分かるw
どこかにその部分のコードを上げてくれないと正確には指摘出来ないが
どうしても解決出来ないなら別のクラスにpublic static クラス名 Aとかで宣言して
クラス名.Aとかでやれば嫌でも保存出来るよw

572:デフォルトの名無しさん
22/08/13 11:43:05.17 C5QtLQsM0.net
>>533
共通化することに意義がある場合とない場合両方あると思うがな。
単に似たようなものを使いまわしたいだけで将来的に同じ仕様であり続ける必要がない場合とか。

573:デフォルトの名無しさん
22/08/13 11:43:37.18 qT9RB751r.net
>>554
hoge.Aって書いてますよ
Case1内でもhoge.Aの値を表示するようにするとちゃんとその値が表示されました

574:デフォルトの名無しさん
22/08/13 11:55:02.73 bvO6Jh/U0.net
じゃあここに書いてないタイミングでhoge.Aが0に書き換わる処理が入ってるか
そもそもhogeが構造体でコピーされてましたとかじゃね
なんにせよ現時点の情報だけじゃ断定しようがない

575:デフォルトの名無しさん
22/08/13 11:56:41.40 qT9RB751r.net
>>555
すみませんお願いします
実装部
URLリンク(i.imgur.com)
プロパティのクラス
URLリンク(i.imgur.com)
プロパティのクラスはdsと省略してます

576:デフォルトの名無しさん
22/08/13 12:02:15.96 qT9RB751r.net
すみませんCase2でds.prAngleを使ってる部分が抜け落ちてました
色々試してたので
これをやってもCase2内のds.prAngleは0のままです
URLリンク(i.imgur.com)

577:デフォルトの名無しさん
22/08/13 12:04:44.45 bvO6Jh/U0.net
そりゃタッチアクション発生するたびにDiscScratch生成してたらそうなるわな

578:デフォルトの名無しさん
22/08/13 12:11:18.67 bvO6Jh/U0.net
あとどうでもいいけどatan2の引数逆じゃね

579:デフォルトの名無しさん
22/08/13 12:13:44.59 qT9RB751r.net
>>561
つまりクラスの呼び出しを外に出せばよかったってことですか
ありがとうございます

580:デフォルトの名無しさん
22/08/13 13:19:26.88 jaSH9WUOM.net
立てました!
C#とかいうプログラミング初心者におすすめな言語
スレリンク(news4vip板)

581:デフォルトの名無しさん (ワッチョイ 8101-szQ4)
[ここ壊れてます] .net
なんでこんなスレ立てたの?
アホなの?

582:デフォルトの名無しさん
22/08/13 15:25:12.93 VIw1B6q40.net
>>564
糞スレ立てる才能あるね

583:デフォルトの名無しさん
22/08/13 15:44:23.35 XdL0YD5Xd.net
こういうのがcocoaを作っていたのだろうな

584:デフォルトの名無しさん
22/08/13 16:28:55.37 qT9RB751r.net
いや初心者スレだろ

585:デフォルトの名無しさん
22/08/13 16:49:38.52 XdL0YD5Xd.net
初心者にしても酷すぎるし、初心者だから何しても良いわけでない
そもそもしつこい

586:デフォルトの名無しさん
22/08/13 16:52:23.44 qT9RB751r.net
なるほど
ではこのあたりのことについて書いてある教本でおすすめとかありますか?

587:デフォルトの名無しさん
22/08/13 17:46:23.05 R59fh56/a.net
>>564
今日立てて今日過去ログ入りしてるの草

588:デフォルトの名無しさん
22/08/13 17:58:17.85 qT9RB751r.net
>>571
それニュー速VIP板だよ

589:デフォルトの名無しさん
22/08/13 18:51:24.33 ydraF3Uid.net
>>570
まずはここから始めてみたら?
URLリンク(sho.jp)

590:デフォルトの名無しさん
22/08/13 19:03:40.70 qT9RB751r.net
>>573
このサイト作るところからってことですかね
html学ばないといけない

591:デフォルトの名無しさん
22/08/13 20:47:47.26 Wr1SDa4J0.net
そうだね、頑張ってね

592:デフォルトの名無しさん
22/08/16 02:09:22.53 ncwK6nbw0.net
WinFormsのScrollBar.Scrollイベントでスクロールが実行されたことは拾えるんですが、
スクロール開始直前のスクロール位置によって処理を変えたいんですが、「今からScrollするよ」っていうイベントってどうやって拾えるんでしょうか?

593:デフォルトの名無しさん
22/08/16 04:49:11.62 RcKGtcJQ0.net
そんなのスクロールする人に聞くしかねえだろ

594:デフォルトの名無しさん
22/08/16 07:03:00.12 1ATBrMAd0.net
哲学だな

595:デフォルトの名無しさん
22/08/16 07:34:13.60 /V/I4jay0.net
>>576
そんなイベントが拾えるわけがないのでスクロールの度にスクロール位置を記録しておいてそれをスクロール前の位置としろ

596:デフォルトの名無しさん
22/08/16 08:57:41.87 48MyGnzX0.net
スクロールバーにどうにかマウスオーバーなイベントつけて、
タッチパッドやマウスの真ん中ボタンにセンサーつけて、
カーソルボタンやエンドボタンとかもイベント挟んで、、、

597:デフォルトの名無しさん
22/08/16 12:43:32.61 pCgVxBpx0.net
ScrollEventArgsのOldValueでよくね?

598:デフォルトの名無しさん
22/08/16 12:43:35.89 yx28uGuU0.net
WinForms触らないから知らないんだけどScrollBarにdelta的なプロパティ無いの?

599:デフォルトの名無しさん
22/08/16 13:08:58.43 JSsOGCvC0.net
こういう人が言っている事って意味不明過ぎるんだよねw
スクロール開始直前ってどういうタイミングなんだよw
動かなきゃそもそも分からんだろw

600:デフォルトの名無しさん
22/08/16 13:39:41.49 yMgzlhes0.net
Window.ClosingイベントとWindow.Closedイベントみたいなのもあるから気持ちは分からんでもない

601:デフォルトの名無しさん
22/08/16 13:50:05.96 HGa5/pjK0.net
つーかScrollBarクラスのドキュメントのイベント一通り読めば、どういうイベントあるか判るだろうに

602:デフォルトの名無しさん
22/08/16 14:24:34.33 7uG5vyWwr.net
>>576
Scrollイベント内でScrollBar.Valueで拾えそうだけどどう?

603:デフォルトの名無しさん
22/08/16 14:59:50.26 h4WXO5UsH.net
ASP.NET Core MVCのモデルバインドについて質問です
スキャフォールディングでコントローラーとビューを自動生成しています。
生成されたコントローラーを見るとバインドするプロパティをBindAttributeを使って文字列で指定しているようなのですが、Razor PagesのBindPropertiesAttributeのようにもっとスマートに指定する方法は無いのでしょうか

604:デフォルトの名無しさん
22/08/16 17:31:58.10 Vn26Os4DM.net
>>576
具体的にやりたいことを書けばいいのに
スクロールのバーが下の方にあるときにスクロールを始めると
猫のアニメーション
上の方にあるときは
犬のアニメーション
を始めたいです
どうやったらいいでしょうか?
的な?

605:デフォルトの名無しさん
22/08/16 18:01:38.04 3rkJ3g/fd.net
馬鹿は発想からして馬鹿だから馬鹿なんだよ

606:デフォルトの名無しさん
22/08/16 23:20:54.53 /ezBHCexM.net
UIフレームワークによっては
自作しなくても最初から「いまからスクロールはじまるよ~」ってイベントがあったりするんだよ

607:デフォルトの名無しさん
22/08/16 23:28:59.04 W1lBoNLVa.net
スクロール関連のWindowsメッセージでは無理だな

608:デフォルトの名無しさん
22/08/17 12:54:34.71 +n3t412SM.net
>>591
自分でスクロールの状態管理をして
状態に応じたイベントを発火すればいい

609:デフォルトの名無しさん
22/08/17 15:28:27.51 2jvvOB2A0.net
スクロール開始の定義って難しいんだよね
▽ボタン連打してさらに途中からボタン押しっぱなしにしたとき
一体どのタイミングが開始なのか、とか
つまみのドラッグだけならScrollEventArgsのTypeを見ればいいんだけど

610:デフォルトの名無しさん
22/08/17 22:34:12.20 6uyBD2Rd0.net
keyはno->down->releaseの瞬間?

611:デフォルトの名無しさん
22/08/17 22:39:27.58 ie3TvznI0.net
>>593
トラッキング、ホイール、PageUpDownとかもあるしな
自前できちんとやろうとすると面倒くさそう

612:デフォルトの名無しさん
22/08/18 00:14:15.59 UjnBGYqSH.net
>>587ですが自己解決
MS Docsのチュートリアルに詳しく書いてありました

613:デフォルトの名無しさん
22/08/20 12:18:11.21 JRsnkQ7T0.net
最近、stringのnullチェックがうるさくなったなぁ
Visual Studioで警告出まくる
nullの扱いなんてプログラマの裁量()に任せてほしいよな

614:デフォルトの名無しさん
22/08/20 12:38:30.34 /egiRiEF0.net
警告抑止すりゃ裁量任せにできるじゃん

615:デフォルトの名無しさん
22/08/20 12:38:51.00 5pzjXFwEH.net
csproj開いてnullable enableを消すと静かになるよ

616:デフォルトの名無しさん
22/08/20 17:34:45.68 /mZJmGpQd.net
>>597
任されてるやろ

617:デフォルトの名無しさん
22/08/20 17:58:55.36 yAwI9ZI30.net
3人も内容的に同じことを言わなくていい

618:デフォルトの名無しさん
22/08/20 18:41:28.80 4MiuAY+ua.net
警告抑止とnullable disableは根本的に違う対処法だぞ

619:デフォルトの名無しさん
22/08/22 23:14:10.64 hlW9Bqv4M.net
hosyu

620:デフォルトの名無しさん
22/08/23 06:39:34.65 MDljb5y+0.net
ASPやWPFでC#でアプリ作ろうと思ったらやっぱりHTMLなど知識は必要なんでしょうか...

621:デフォルトの名無しさん
22/08/23 06:48:22.61 B9nWN5M80.net
>>604
WPFはHTMLの知識は必要ないよ
ASPは必要だけど、始める分には知らなくてもいい

622:デフォルトの名無しさん
22/08/24 17:20:41.85 nmRyLlKO0.net
割と現実的なプログラミングランキグンでC#は4位
URLリンク(gigazine.net)

623:デフォルトの名無しさん
22/08/24 17:33:02.59 bGyUAV3XM.net
C#は制御系ではまあまあ人気あるから、ハード寄りのIEEEの調査では高く出やすいだろうね

624:デフォルトの名無しさん
22/08/24 17:36:59.02 kB0Adp7j0.net
C#が上位にいるのはUnityのお陰じゃないかと
ASP.NETとかMS系の仕事だと今でも使っているのだろうけど

625:デフォルトの名無しさん
22/08/24 17:59:26.05 rQISugU90.net
>>606
SQLが1位ってw

626:デフォルトの名無しさん
22/08/24 18:27:37.05 H1OtPdwm0.net
まあ今時サーバーでもクライアントでもデータベース使ってるのは珍しくないから必然的にSQLの順位は上がるわな
HTML/CSS もそうだけどプログラム言語の範疇に入れるのはどうかと思うが

627:デフォルトの名無しさん
22/08/24 18:29:52.50 nmRyLlKO0.net
>>610
言いたいことは分かるがそれを言ったらPythonの1位も怪しくなるからな
研究職とか事務職を合わせた上での1位だろうし

628:デフォルトの名無しさん
22/08/24 18:44:14.65 H1OtPdwm0.net
>>611
> 研究職とか事務職を合わせた上での1位だろうし
意味わからん、それは別におかしくないだろ

629:デフォルトの名無しさん
22/08/24 18:55:55.63 TNeOivRw0.net
C#って制御に向いてんだ・・ほんと?

630:デフォルトの名無しさん
22/08/24 19:02:09.54 SnHhX9hKa.net
何にでも向いてるがWindowsアプリを作るならC#が最適解だからWindowsで制御するなら必然的にC#が第一候補だな

631:デフォルトの名無しさん
22/08/24 19:19:04.50 CJQsusDk0.net
>>613
プログラミングに不慣れな電気回路屋さんが検証用のアプリをWinFormsで頑張って作ってたりするよ
WindowsでGUIアプリを比較的お手軽に作れるのが受けてるだけで、特別制御向きってことはないかな
市販のデジタルI/OデバイスにC#のライブラリが付属してたりとかはあるけど

632:デフォルトの名無しさん
22/08/24 19:24:24.81 H1OtPdwm0.net
>>613
制御系で一括りに語ってる人はあまり良くわかってない人だから無視していいかと

633:デフォルトの名無しさん
22/08/24 19:27:18.92 qPhtrjAJ0.net
int型


634:a, b, cをフィールドに持つ構造体の配列が与えられた時、 int型配列に直接変換できるLINQメソッドはありますか? 例として要素数4の上記配列が与えられた場合、要素数12のint配列に変換したい。 ([a, b, c, a, b, c, a, b, c, a, b, c]てな感じ)



635:デフォルトの名無しさん
22/08/24 19:54:41.10 nmRyLlKO0.net
>>617
[StructLayout(LayoutKind.Sequential)] struct A { public int a, b, c; }
var arr = new A[4];
var integers = MemoryMarshal.CreateSpan(ref arr[0].a, arr.Length * sizeof(A) / sizeof(int));

636:デフォルトの名無しさん
22/08/24 20:02:37.98 nmRyLlKO0.net
そういえばPack = 4もつけないと64bitだとズレるかもしれない
[StructLayout(LayoutKind.Sequential, Pack = 4)]
LINQでは無理でunsafeな方法しかない

637:デフォルトの名無しさん
22/08/24 20:12:22.20 qPhtrjAJ0.net
後出しで申し訳ないんですが、変換するフィールドを(順番も)指定できるとありがたいです。
([a, c, b, a, c, b, a, c, b, a, c, b]とか[c, a, c, a, c, a, c, a]みたいに)
.Select(x => new int[]{x.a, x.c})的な書き方が出来ると理想ですが流石に無いですかね。

638:デフォルトの名無しさん
22/08/24 20:15:59.32 nmRyLlKO0.net
そういえばLinqで普通に出来そうだな
Linq使わない統一連合教徒だから俺には答えられないが

639:デフォルトの名無しさん
22/08/24 20:16:01.84 iNTQq2dx0.net
array.SelectMany(x => new[] { x.a, x.c }).ToArray();
でいいんじゃね

640:デフォルトの名無しさん
22/08/24 20:30:34.31 qPhtrjAJ0.net
>>622
まさにそれです!
回答くださった方々どうもありがとうございます。
これで行数を1行減らすことができます。

641:デフォルトの名無しさん
22/08/24 21:36:20.50 0l93CVPkd.net
こんなことをここで聞かないとわからないような奴は分かりやすいコードを書けよ
自分の力で考えられないようなコードを書くな

642:デフォルトの名無しさん
22/08/25 00:59:42.03 vPMqjAT50.net
最初からLINQでって言ってるのにトンチンカンな解答してる奴もいるし、動物園レベルだなw

643:デフォルトの名無しさん
22/08/25 02:55:36.04 7cFZJz/G0.net
そのケースでLINQを使うのがそもそも間違い

644:デフォルトの名無しさん
22/08/25 07:54:14.97 S/wpzj9c0.net
>>626
なんでよ?
LINQが最適解じゃん

645:デフォルトの名無しさん
22/08/25 08:13:42.56 ADCzm4mL0.net
>>622みたいなのって元の配列の順序通りに出るの保証されてるのだっけ?

646:デフォルトの名無しさん
22/08/25 08:13:52.19 7cFZJz/G0.net
最初の質問は、「int型配列に直接変換」だからな
それはLINQでは出来ない(コピーが発生する)ので >>618 の時点では回答は間違ってないんだよ
>>620 で後付けで順番指定とか言い出したから、結果的にLINQで良くなっただけ

647:デフォルトの名無しさん
22/08/25 08:40:31.55 8gLSla0ra.net
>>613
GC言語だから向いてはいない
が、生産性が高いから、ある程度の遅延が許される案件なら悪くない

648:デフォルトの名無しさん
22/08/25 09:01:18.64 Kj4JFaopa.net
>>628
保証されてる

649:デフォルトの名無しさん
22/08/25 09:02:50.00 Kj4JFaopa.net
>>629
「配列に変換する」だから間違ってるぞ

650:デフォルトの名無しさん
22/08/25 09:13:18.48 Kj4JFaopa.net
>>630
GCはメモリが不足しないと発生しないからメモリを大量に使わないなら大丈夫
クラスの代わりに構造体を使うなりGC.Collectを適切な位置に挟むなりして抑制することもできる
今時メモリが不足することもないけどあってもこれで大概どうにかなるな

651:デフォルトの名無しさん
22/08/25 09:17:03.96 lqL0IkJn0.net
>>629
まぁ最初はフィールド順固定みたいな雰囲気だったから「なら解釈変えるだけで良くね?」と思ってああ答えたがその都度順序指定したいなら無理だったな

652:デフォルトの名無しさん
22/08/25 09:28:28.80 lqL0IkJn0.net
SelectManyでの連結で1要素毎に不要なゴミが発生するのは教義的に許されないので超ハイパフォーマンス厨二バージョン作ってみたぜ
fixed (A* p = &arr[0]) for (A* iter = p, end = iter + arr.Length; iter != end; ++iter) Sse2.Store((int*)iter, Sse2.Shuffle(Sse41.LoadDquVector128((int*)iter), 0b11011000/*a,c,b*/)); //store先を新規配列にするなりご自由に

653:デフォルトの名無しさん
22/08/25 10:10:36.18 0VDsE7q7M.net
ウザっ

654:デフォルトの名無しさん
22/08/25 10:39:28.93 Kj4JFaopa.net
>>635
そのゴミが中でnewされてる配列のことならスタックにそのサイズのメモリが確保されてるだけだから次のループで消えてるぞ

655:デフォルトの名無しさん
22/08/25 10:47:17.28 PVmAxbmb0.net
メモリ操作をオプティマイズしても速度は大して改善しない
こんな無駄なことに知恵を絞るより表示とディスクI/Oと通信を如何に減らすかを検討するべきだね

656:デフォルトの名無しさん
22/08/25 10:55:45.96 EagxtJ7z0.net
>>637
LINQは最新.NETでも相変わらずアロケーション酷いから毎度ヒープにnewされてる
スタックだと呼び出し元関数にnew[] { x.a, x.c }を渡せないからね

657:デフォルトの名無しさん (アウアウウー Sa63-ruds)
[ここ壊れてます] .net
>>639
ほんとか?
SelectManyもそこから呼び出されるラムダ式も呼び出し元に返すのはIEnumerator<int>なのに配列保持する必要ないだろ

658:デフォルトの名無しさん (アウアウウー Sa63-ruds)
[ここ壊れてます] .net
.NETの最適化は中間言語実行時にされるから確かめるのはなかなか難しいけど

659:デフォルトの名無しさん
22/08/25 12:11:41.01 gHMRW/FFM.net
C#では普通に配列をNewするとヒープ使う
アロケーション抑えるためにようやく
ArrayPool, stackalloc, Span<T>等が整備されてきた

660:デフォルトの名無しさん
22/08/25 17:08:32.19 lqL0IkJnH.net
>>640
IEnumerator<int>なんだから配列保持しなくてもいいけど保持してもいい
実装はこちらに任せられてて上記のコードだと配列を選択してる訳だからそうなる
yield利用したら配列は必要なくなるけどイテレーター生成で結局アロケーションかかるのは有名な話なのでフィールド数が少ないなら配列生成したほうがマシではある
最近のC#開発陣の方向性からしたら効率的なコードに変換してくれそうなもんだけどLINQは大昔の物なのでそんな最適化はかからない

661:デフォルトの名無しさん
22/08/25 17:21:07.67 f1MDGZNHM.net
いや、配列である必要はないがどんな実装をしようと必ずヒープアロケーションは発生する
仮に構造体を使って実装したとしても IEnumerable<T> にキャストした時点でボックス化が発生するからな

662:デフォルトの名無しさん
22/08/26 22:34:55.33 +ZJU99dd0.net
>>606
すまん今更だがこの記事C#をC言語の仲間だと思ってないか?
Spectrum(IEEE会員の好み)ランキングで1位に輝いたのはPythonで、2位のCが僅差で続いています。Cを含むC言語は全体的に人気が高く、Cと3位のC++、4位のC#を足すとPythonを大きく上回っています。

663:デフォルトの名無しさん
22/08/26 23:08:53.56 294eWRoi0.net
> 5位のJavaと7位のJavaScriptも同様に人気があり
なんて書くようなライターだしな
言語名で判断してるのがよくわかるw

664:デフォルトの名無しさん
22/08/26 23:36:19.03 9k0mt3Rf0.net
人気がある


665:という意味で一括りにしたと好意的に捉えても 「Cを含むC言語」は謎すぎるな…C#も足すな GIGAZINEクオリティと思ったら、原文からしてそんなんだった



666:デフォルトの名無しさん
22/08/26 23:47:42.79 294eWRoi0.net
>>647
原文ってどこにある?

667:デフォルトの名無しさん (ワッチョイ 3d5f-yNcK)
[ここ壊れてます] .net
Windowsのデスクトップソフトを作りたくてC#の勉強をはじめたばかりです。
教えて下さい。

私は大昔、学校でVisualBasic6というのをさわったことがあるのですが、記憶では
フォームの作成やその上にボタンを作って設置するのは、ぜんぶマウスだけでできて、
まさに「Visual」だったんですが、今はまた逆行してしまい、フォームひとつ作るのもぜんぶ
文字を書かなくてはならなくなったんでしょうか?VisualStudioというソフトをインストールしたのですが、
ぜんぜんVisualではないみたいなんですが。画面が黒くできたりしてかっこよくなってるから
そういう意味でVisualが凝ってるということなんでしょうか?

もしかしてインストールするものが間違ってるのか、C#にもいろいろな種類があるのか、とまどっています。

よろしくお願いいたします。

668:デフォルトの名無しさん (ワッチョイ 3d5f-dfwD)
[ここ壊れてます] .net
ポトペタがやりたければ「Windows フォーム」でプロジェクトを作成してください

669:デフォルトの名無しさん (ワッチョイ 8224-UhYb)
[ここ壊れてます] .net
>>649
VisualStudioであってるけどプロジェクト作成時のテンプレートでWinForms(.NET Framework)選んだ?
コンソールアプリケーションで開始するとデフォルトではGUIプログラミングはできないよ

670:デフォルトの名無しさん (ワッチョイ 6101-e4aH)
[ここ壊れてます] .net
まぁVCはどこがVisualだと思わなくもない

671:デフォルトの名無しさん (ワッチョイ eebb-JjaS)
[ここ壊れてます] .net
URLリンク(youtu.be)

672:デフォルトの名無しさん (ワッチョイ 3d5f-yNcK)
[ここ壊れてます] .net
>>650-653
みなさま、ご親切にありがとうございます!!
プロジェクトの作成からやり直したらできたみたいです!

もう一つだけ教えて下さい。
私はこのたびの勉強開始にあたって、独習C#第五版というのを購入しました。
最新だとアマゾンに出ていたからです。C#が2月頃にバージョンアップしたそうで、その最新版に対応している本は
まだ少ないとのことでこれを選びました。

教えていただきたいのですが、明日また大きい書店に行って、Visualっぽくできるだけマウスでwindowsソフトを作る
参考になるような書籍を買ってきたいのですが、去年以前の刊行のものでもだいじょうぶでしょうか?
私のような初心者なら、最新バージョンに対応した本でなくても問題ないといいのですが。いかがでしょうか?

673:デフォルトの名無しさん
22/08/27 03:15:48.15 Hkav7AuSd.net
頭悪過ぎ

674:デフォルトの名無しさん
22/08/27 08:20:07.20 hkhVjD4na.net
>>654
Winformsなんて古い技術の新しい書籍なんか探しても無いんじゃね

675:デフォルトの名無しさん
22/08/27 08:21:41.34 kSqAjulD0.net
>>654
だいたい機能拡張だからその本に書いてあることが使えないってのは無い

676:デフォルトの名無しさん
22/08/27 08:24:05.73 y0QTOZ/b0.net
nullableの設定だけ気を付けないといけないかもな

677:デフォルトの名無しさん
22/08/27 09:30:50.42 1ZPd3z3i0.net
>>656
逆に新刊はWinformsの書籍ばかり

678:デフォルトの名無しさん
22/08/27 09:32:08.22 DLOMVHR6M.net
>>654
まず図書館に行って見よう
そこに希望する本があるかもしれないから

679:デフォルトの名無しさん
22/08/27 09:36:36.17 DLOMVHR6M.net
.net6用のwinformsデザイナがいまだにクソですぐ落ちる

680:デフォルトの名無しさん
22/08/27 09:46:14.67 iGZkY2M60.net
.Net6のWinFormsデザイナで
カスタムコントロールを追加するとエラーが出るんですが

681:デフォルトの名無しさん
22/08/27 09:51:32.24 M3lVB/2V0.net
.NET5以降のフォームデザイナは作り直された奴で全然枯れてないからな
WinFormsやるなら.NET Framework安定だと思う

682:デフォルトの名無しさん
22/08/27 10:29:31.63 4Qb5g2XJ0.net
言うほど新刊多いか?

683:デフォルトの名無しさん
22/08/27 12:03:02.31 OJIqOhIHa.net
>>664
少なくとも年に1冊は出版されてる

684:デフォルトの名無しさん
22/08/27 12:15:48.73 4Qb5g2XJ0.net
お、おう

685:デフォルトの名無しさん
22/08/27 12:27:15.20 QSsyAny8M.net
interface経由で継承先のstaticメソッドを呼び出したいのですが何か方法はありますか?
用途としては、インスタンスがnullの場合等に継承先のデフォルト値を呼び出す、というものです。
public interface I{
static int Num {get;}
}
public class A : I{
public static int Num => 1234;
}
public class B : I{
public static int Num => 5678;
}
public class Sample{
public void DoSomething(I hoge){
if(hoge is null) Console.WriteLine(I.Num); // 1234 or 5678 を表示したい
}
}
C#11のinterfaceにstatic abstract、static virtualという機能があり
試してみましたがそれらの機能では実現出来ませんでした。
また、ループ中での処理を想定しているため、リフレクションは可能な限り避けたいです。

686:デフォルトの名無しさん
22/08/27 12:31:54.39 e8NuVESr0.net
皆様ありがとうございます。
図書館、書店とはしごしてみます。

687:デフォルトの名無しさん
22/08/27 12:32:43.82 F0S9Qfv1M.net
C#11触ってないから憶測で書くけど
public void DoSomething<T>(T hoge) where T : I {
にしたらうまくいきそうな気がする

688:デフォルトの名無しさん
22/08/27 12:34:00.79 ML5GGTeqM.net
>>667
nullなのに継承先もクソもない
コードありきではなく、何の情報に基づいてどのような結果が欲しいのか、自分の頭で仕様を整理せよ

689:デフォルトの名無しさん
22/08/27 12:40:08.25 y0QTOZ/b0.net
>>667
staticやめればいいのでは
何かできない理由がおありで?

690:デフォルトの名無しさん
22/08/27 12:58:36.79 Zcnrje7aa.net
こういうの書いてるのだいたいUnityやってるやつというイメージ

691:デフォルトの名無しさん
22/08/27 13:15:46.23 QSsyAny8M.net
すみません、勘違いしていたようで
根本的に別の方法で自己解決しました。

692:デフォルトの名無しさん
22/08/27 13:19:54.67 DLOMVHR6M.net
C#入門の新刊は季節に2冊ぐらいづつ出てた

693:デフォルトの名無しさん
22/08/27 14:29:04.04 Q6RZ93Vy0.net
C#は各言語の中では一番日本語Web情報充実してるから本なんて必要ないとしか思えないんだけどな

694:デフォルトの名無しさん
22/08/27 15:05:22.72 0y7BwLZN0.net
でもまあ、技術系ブログサイトとかはあんまり見ない方がいいだろうね
特に、スレッド、GC、謎の付け焼き刃策、デザインパターン、その辺が絡むものはやばいコードでごった返してるんじゃないかな

695:デフォルトの名無しさん
22/08/27 15:27:53.57 RGgKks5P0.net
カオスなコードはC/C++のが氾濫してる印象
C#もobject多用してるやつは大概ヤバい

696:デフォルトの名無しさん (スッププ Sd22-TJWu)
[ここ壊れてます] .net
C#は業務系とゲーム系とWeb系が入り乱れていて個性的なコードが多い印象
Web系はわりと教科書的なコードを好む傾向だけど前2つは無茶苦茶

697:デフォルトの名無しさん
22/08/27 18:15:52.15 WqKrPeWc0.net
C#自体は嫌いでも無いしむしろ好きかも知れないけど
コードが冗長になる傾向が強いというか
これはjsとかでもそうだけど特に非同期だとぱっと見何やってるか分かりにくいコードが多いなぁ
awaitやasyncとかで書けるからとかメソッドチェーンだからマシとか言うけどw

698:デフォルトの名無しさん
22/08/27 19:23:32.38 DLOMVHR6M.net
メソッドチェーン = クソ


699:



700:デフォルトの名無しさん
22/08/27 19:28:43.55 0Dbs3cdW0.net
単一行でスクロールバーがないテキストボックスやリストボックスとかでマウスをホバーすると、
ツールチップだかが表示されて、テキストボックスと位置を完全に合わせてテキストの全文を表示してくれるやつをたまに見かけますが、
それと同じ事をやりたいです。
あれはツールチップだと同じ挙動にはならないっぽいのですが、ポップアップウィンドウで自力で描画してるんでしょうか。

701:デフォルトの名無しさん
22/08/27 19:36:18.14 0Dbs3cdW0.net
知りたい事は.NETやgitとかでそういう便利ライブラリ的なのがあるなら教えてほしいです。
自力描画するしかないのであればがんばります。

702:デフォルトの名無しさん
22/08/27 19:45:26.39 DLOMVHR6M.net
全く言っている意味が通じない
WPFなのかwinformsなのか
どこに不満があるのかがわからない
どういう具合で同じ事になっていないと言ってるのかも不明だから誰にも答えようがないし
既製のもので不満を感じるなら自作するのみ

703:デフォルトの名無しさん
22/08/27 21:25:37.26 jdy+bFyx0.net
>>682
InputMan(有料ライブラリ)で言うところのオーバーフローチップかな?
Freeで似たようなものがあるかどうかは探したことないから知らん

704:デフォルトの名無しさん (ワッチョイ 0201-lFw7)
[ここ壊れてます] .net
>>681
WinUI3使え!

705:デフォルトの名無しさん (ワッチョイ 0201-yNcK)
[ここ壊れてます] .net
>>681
WinUI3だとこれでいける
.xaml
<TextBox x:Name="ele" Text="aaaaaaaaaaaaaaaa
iiiiiiiiiiiiiiiiiii
uuuuuuuuuuuuuuuuuuu
eeeeeeeeeeeeeeeeeee" Width="100">
<ToolTipService.ToolTip>
<ToolTip x:Name="tip"/>
</ToolTipService.ToolTip>
</TextBox>
.cs
public MainWindow()
{
this.InitializeComponent();
tip.Content = ele.Text;
}

URLリンク(imgur.com)

706:デフォルトの名無しさん
22/08/28 09:22:06.62 B6U0vRcz0.net
>>686
WinUI3でのToopTipの注意点
・折り返しを使う時は、MaxWidth="320"を必ず指定しないといけない
 指定しないと折り返しをやってくれない
・ToolTipService.Placementで、ToolTipの相対的な出現位置を指定できる

707:デフォルトの名無しさん
22/08/28 09:30:02.66 R+9zdn/R0.net
Visual Studio 2022でWindowsフォームを扱えるのはC#だけですか?

708:デフォルトの名無しさん
22/08/28 09:45:39.71 uUcbqhud0.net
扱えるってのがフォームデザイナを使えるかって意味なら、VB.NETも使える
GUIを自分でコーディングするなら、理論上はWindows上で.NETのライブラリが呼び出せる言語なら全て扱える
デザイナ無しだと、面倒すぎてやってられんけど

709:デフォルトの名無しさん
22/08/29 00:16:51.32 Rm8LZ6WJ0.net
681です。
>>683
WinFormです。環境を書く必要がありましたねすいません。
>>684
まさしくそれです。
名称がわからなかったので非常に助かりました。ありがとうございます。

710:デフォルトの名無しさん
22/08/29 06:23:28.13 yi8ems0xd.net
ACCESSのようなローカルDBに接続する場合、ソフト起動してる間は繋ぎっぱなしにするほうがいいんでしょうか?
それとも処理の度に接続切断を繰り返ししたほうがいいんでしょうか?

711:デフォルトの名無しさん (ブーイモ MM22-TJWu)
[ここ壊れてます] .net
そんなのどうせ同時に一人しか使わないだろ?
どっちでもいい。コネクションプール云々は複数人から同時に頻繁にリクエストがくるようなサーバーの話だ。
コネクションを共有する場合は毎回繋ぎ直すのに比べて正しく動かすために考慮すべきことが若干増えるから、
そんな質問をしているレベルなら毎回繋ぎ直したほうが無難。

712:デフォルトの名無しさん (ワンミングク MM59-40fY)
[ここ壊れてます] .net
>>6


713:91 accessのdbは繋ぎっぱなしにしていると壊れるってよく聞くな



714:デフォルトの名無しさん (ワッチョイ 5907-RdaI)
[ここ壊れてます] .net
つかアクセス使うなw

715:デフォルトの名無しさん
22/08/29 09:33:19.38 ccuXYO1Zr.net
Accessがすでに業務上存在しちゃってて、ラクに処理とか自動化とかしたいからc#使うのかもしれん
知らんけど

716:デフォルトの名無しさん
22/08/29 09:36:25.52 5dAad4gs0.net
むしろC#使わなくても楽に処理とか自動化するためのAccesなんじゃねーの?
VBA抜いたらAccesに価値なんてないと思うがVBA使わないなら別のDBに移行すりゃいいんじゃないかなあ

717:デフォルトの名無しさん
22/08/29 10:08:27.01 MLr1TOpOr.net
URLリンク(tech-and-investment.com)
ってLollipopに入会させるためのネタかな?
間抜けなのでコメントしようとしたのだが。

718:デフォルトの名無しさん
22/08/29 10:25:54.36 5N7ZaELzM.net
組込系なんてこんなもんでしょ

719:デフォルトの名無しさん
22/08/29 10:30:17.30 9hZB97v8a.net
>>697
明らかに広告のためのページだけど何をコメントしようとしたの?

720:デフォルトの名無しさん
22/08/29 11:30:01.09 oh50Zakl0.net
クラスファイルを自動生成してくれるgRPCを使おうとcsprojに下記の行を追記したら
Systemの参照どころかStringすら全て見つかりませんと出てきました。
<ItemGroup>
<Protobuf Include="Protos\test.proto" GrpcServices="Client" />
</ItemGroup>
どのような原因が考えられるでしょうか?

721:デフォルトの名無しさん
22/08/29 12:22:49.43 iq4CimM1M.net
つーか特別な理由が無ければ基本的に繋ぎっぱなしはしない
Connectionオブジェクト都度Newしようが、プロバイダがコネクションプール管理してるからよろしくやってくれる

722:デフォルトの名無しさん
22/08/29 12:29:19.63 jYU6zLSra.net
スタンドアローンならSQLiteがいいね

723:デフォルトの名無しさん
22/08/29 13:06:55.49 Ov0jurSb0.net
【火葬場】 ブースター接種でフル稼働 【葬儀株】
://rio2016.2ch.sc/test/read.cgi/sousai/1651730253/l50
URLリンク(o.5ch.net)

724:デフォルトの名無しさん
22/08/29 16:23:45.64 Wh5OZtXm0.net
>>699
FormBorderStyle=FixedSingle と
MaximizeBox=False だけで良くね?と。

725:デフォルトの名無しさん (オッペケ Sr51-M17j)
[ここ壊れてます] .net
Cシャープから10年以上離れてたけど今はforやforeachじゃなくLinq使うのが主流なんですか?

726:デフォルトの名無しさん (ブーイモ MM4d-zHxe)
[ここ壊れてます] .net
ループ書いたら負けた気がする

727:デフォルトの名無しさん (ワッチョイ 82ad-p8/s)
[ここ壊れてます] .net
>>705
主流とか無いよ
適材適所

728:デフォルトの名無しさん
22/08/30 23:34:45.92 Oc5tPAyGM.net
>>705
一時期入門したてのゆとりが増えてそう主張してたけど
最近は慣れてきたみたいでキレイに消えた
適材適所だと体感したらしい

729:デフォルトの名無しさん
22/08/31 00:13:09.28 9cS5A88o0.net
でも自然な範囲ならLinqのほうが見やすいわ
まあforeachとパフォーマンスで取捨するのは変わらんし
あまり凝った処理をLinqでやるのは不幸になりやすいと思ってるし、そも設計が()

730:デフォルトの名無しさん
22/08/31 00:17:44.10 V35Yqsqy0.net
Linq慣れとけばSQLもほんの少しだけ取っつきやすくなる

731:デフォルトの名無しさん
22/08/31 00:28:02.06 llX6lKGm0.net
Linqをウォッチウィンドウに入れるとラムダ式はダメって怒られるんですがLinqのデバッグって皆さんどうやってますか?

732:デフォルトの名無しさん
22/08/31 01:04:24.06 Ycd3gXUM0.net
Linqのメリット:処理がすっきりしていて見やすい、意味が明確
Linqのデメリット:Linqを知らないと何やってるかサパーリ
結論:Linqアンチは馬鹿

733:デフォルトの名無しさん (ワッチョイ 69ad-7GL9)
[ここ壊れてます] .net
極力 for文は使わないように心掛けてる

734:デフォルトの名無しさん
22/08/31 01:22:55.36 Sd5y8jvB0.net
とある理由で128bit変数を使いたいと思います。
.NET7ではSystem.Numerics.Int128があるみたいですが、
.NET6以前では手はないでしょうか?

735:デフォルトの名無しさん
22/08/31 01:47:58.73 b1fDOVx80.net
弟子丸じゃダメなの?

736:デフォルトの名無しさん
22/08/31 01:52:38.87 DMniOJU7a.net
>>715
あざます。ゲームを作ってるのですがbit演算で使いたいのです

737:デフォルトの名無しさん
22/08/31 01:54:00.40 DMniOJU7a.net
Int128は間違いでUint128です

738:デフォルトの名無しさん
22/08/31 03:27:40.79 Vvk0HldG0.net
何故128bit変数を使いたいのか?理由が全く無い
普通にulongを2つで十分では?

739:デフォルトの名無しさん
22/08/31 04:01:54.66 Ycd3gXUM0.net
状態が65個以上129個未満あるんだろ
少しは想像しろよ

740:デフォルトの名無しさん
22/08/31 04:03:49.94 Vvk0HldG0.net
で?wって感じだがw
頭が悪い初心者ならboolの配列にでもすればいいだろw

741:デフォルトの名無しさん
22/08/31 04:26:15.57 llkfVmSaM.net
自己紹介乙

742:デフォルトの名無しさん
22/08/31 04:58:04.38 Vvk0HldG0.net
ID変えて発狂かw惨めすぎるw

743:デフォルトの名無しさん
22/08/31 09:07:04.15 a94Kj0JPr.net
>>711
ピリオド毎に分解して、変数につっこんで
どんなリストが返ってきているか見る、かなあ。

744:デフォルトの名無しさん (ワッチョイ 5907-RdaI)
[ここ壊れてます] .net
糞スコア用とかで単に桁の大きい数が欲しいだけなんじゃね
BigIntegerとBitArrayでも使ってろ

745:デフォルトの名無しさん (アウアウウー Sa85-P4RU)
[ここ壊れてます] .net
>>711
最近使ってないけどメソッドチェーンでもステップ実行や途中の値を表示できたと思う
URLリンク(atmarkit.itmedia.co.jp)

746:デフォルトの名無しさん (ラクッペペ MM66-NyG/)
[ここ壊れてます] .net
プロパティの使い方(作り方)ですが
値の有効範囲が決まっていて、範囲外の入力があったときに
例外とか出さずに勝手に範囲内に修正するのは問題ないでしょうか?

747:デフォルトの名無しさん (ワッチョイ 45da-zjO4)
[ここ壊れてます] .net
お前さんが仕様を作る立場なら問題無いんじゃないか。
文句言われたら「by design」。

748:デフォルトの名無しさん
22/08/31 12:03:12.34 JDtcotEa0.net
>>722
的はずれな煽りしかできずに挙げ句自演認定して必死に草生やしてる哀れなやつ
馬鹿は勝手に傷口広げるから楽でいいな


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch