!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part159
http://mevius.5ch.net/test/read.cgi/tech/1691454079/
■関連スレ
C#, C♯, C#相談室 Part97
https://mevius.5ch.net/test/read.cgi/tech/1671585518/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
初心者はまずVisual Studioを使いましょう。なおVisual Studioの使い方などに関しては各バージョンで違うので専用スレでお願いします
http://www.visualstudio.com/downloads/
■情報源
https://learn.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://learn.microsoft.com/en-us/dotnet/standard/class-libraries
https://referencesource.microsoft.com/
https://source.dot.net/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
++C++; // 未確認飛行 C
https://ufcpp.net/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
ふらっと C#,C♯,C#(初心者用) Part160
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (オイコラミネオ MM3f-idhC)
2024/02/11(日) 09:17:20.44ID:8k78Qd14M923デフォルトの名無しさん (ワッチョイ 3360-6nNH)
2025/01/21(火) 10:54:57.10ID:1m/IUWna0924デフォルトの名無しさん (ワッチョイ e332-PZBL)
2025/01/21(火) 17:13:29.68ID:QUnOoTqO0925デフォルトの名無しさん (ワッチョイ cf10-3tFq)
2025/01/22(水) 18:26:18.47ID:0O95Qohn0 WinSock2の本まだもってるわ…
926デフォルトの名無しさん (ワッチョイ 0301-XwLX)
2025/01/22(水) 21:24:34.94ID:MIf/sAJr0 C#使うのにwinsockとかww
927デフォルトの名無しさん (ワッチョイ 7fb0-Jbvc)
2025/01/23(木) 06:57:25.61ID:juwbDZ3u0 WindowsでSystem.Net.Sockets.Socketがwinsockじゃないと思ってる?
928デフォルトの名無しさん (ワッチョイ 735f-XwLX)
2025/01/23(木) 09:02:55.86ID:OQt5VYXf0 生で使う必要無いだろw
929デフォルトの名無しさん (ワッチョイ 33d7-RIo9)
2025/01/23(木) 09:04:13.27ID:kfksRUHC0 生で使わなくとも理解はしといた方が良いぞ
930デフォルトの名無しさん (ワッチョイ 735f-XwLX)
2025/01/23(木) 09:34:15.00ID:OQt5VYXf0 カプセル化されてるものをいちいち中身の動きまで知りたく無いw
931デフォルトの名無しさん (ワッチョイ 0301-PaJw)
2025/01/24(金) 00:30:56.25ID:v06s0zgG0 そうだな、.netの全dllはアセンブラレベルで確認すべきだな
932デフォルトの名無しさん (ワッチョイ ff8b-BMvn)
2025/01/24(金) 09:58:39.09ID:PxgZMw2N0 .NETのdllファイルはアセンブラではないが
933デフォルトの名無しさん (ササクッテロラ Sp3b-7ROj)
2025/01/28(火) 10:29:27.90ID:q8xQ82Vup マシン語だなw
934デフォルトの名無しさん (アウアウエー Sa52-p/sv)
2025/01/28(火) 11:48:46.29ID:OP/rUwOja 生の方が気持ちいいんだけど後が怖いからな
935デフォルトの名無しさん (ワッチョイ 5feb-mxMC)
2025/01/28(火) 14:07:31.05ID:+55qGrkc0 >>933
ILだけど?Javaと同じ
ILだけど?Javaと同じ
936デフォルトの名無しさん (アウアウエー Sa52-p/sv)
2025/01/28(火) 14:16:47.75ID:OP/rUwOja >>935
ILも最終的にはアセンブラレベルに落ちて実行されてる。ILなんてc#と変わらないじゃん。そこで見るの止めてもなんの意味もない
ILも最終的にはアセンブラレベルに落ちて実行されてる。ILなんてc#と変わらないじゃん。そこで見るの止めてもなんの意味もない
937デフォルトの名無しさん (ワッチョイ 97e1-/SuV)
2025/01/28(火) 15:27:34.67ID:0NldUbHb0 基地 vs 基地の不毛なキチキチ合戦スレ
938デフォルトの名無しさん (ワッチョイ 17d7-EVp+)
2025/01/28(火) 16:52:08.34ID:ZY1xpaUG0 元の話が見えないアウアウ君w
939デフォルトの名無しさん (ワッチョイ dfff-qYXa)
2025/01/28(火) 17:03:27.17ID:B5BP0B6K0 マシン語なんて甘え
俺クラスになるとハードウェアの電子の動きぐらいまで把握する
俺クラスになるとハードウェアの電子の動きぐらいまで把握する
940デフォルトの名無しさん (ワッチョイ db49-wGhS)
2025/01/28(火) 17:20:05.18ID:m3lC4nL/0 電子の動きなんて甘え
俺クラスになると量子力学的な電子の存在確率の概念まで把握する
俺クラスになると量子力学的な電子の存在確率の概念まで把握する
941デフォルトの名無しさん (ササクッテロラ Sp3b-7ROj)
2025/01/28(火) 18:09:19.54ID:VBw8QKYPp >>940
まあ、1か0かなんて確率論的な分布でしか無いのは確かだけどさぁ
まあ、1か0かなんて確率論的な分布でしか無いのは確かだけどさぁ
942デフォルトの名無しさん (ワッチョイ 5a4b-QkE2)
2025/02/01(土) 08:30:36.21ID:4kSN6ZeX0 複数クライアントにデータを送信するUDPサーバーを作っているのですが動作に不明点があります。
https://ideone.com/6MTfO2
コードでは二つのスレッドのうち片方でクライアント検知、もう片方で検知されたすべてのクライアントにデータを定期送信しています。
これで1つ目のクライアント、2つ目のクライアント、、と順にクライアントから何かしらの送信をするとそれぞれのクライアントにデータが飛んでくるようになります。
ただ、いずれかのクライアントを閉じると、サーバー側のクライアント検知のためのReceiveの待機部分で以下のようなエラーが発生するようになり待機されなくなってしまいます。
UDPは一方的にデータを投げるだけなのでクライアントを閉じたところでサーバー側には影響はないと思っていたのですがなぜこのようになるのでしょうか。
同じサーバーも複数クライアントもマシン内で動作させていることが関係するのでしょうか。
https://i.imgur.com/N6oLDqF.png
https://ideone.com/6MTfO2
コードでは二つのスレッドのうち片方でクライアント検知、もう片方で検知されたすべてのクライアントにデータを定期送信しています。
これで1つ目のクライアント、2つ目のクライアント、、と順にクライアントから何かしらの送信をするとそれぞれのクライアントにデータが飛んでくるようになります。
ただ、いずれかのクライアントを閉じると、サーバー側のクライアント検知のためのReceiveの待機部分で以下のようなエラーが発生するようになり待機されなくなってしまいます。
UDPは一方的にデータを投げるだけなのでクライアントを閉じたところでサーバー側には影響はないと思っていたのですがなぜこのようになるのでしょうか。
同じサーバーも複数クライアントもマシン内で動作させていることが関係するのでしょうか。
https://i.imgur.com/N6oLDqF.png
943デフォルトの名無しさん (ワッチョイ 5a4b-3Xes)
2025/02/01(土) 08:40:26.08ID:4kSN6ZeX0 同じ〜マシン内 → 〜同じマシン内 です。
一応ですが環境は.NET8.0です。
一応ですが環境は.NET8.0です。
944デフォルトの名無しさん (ワッチョイ 9a79-x7zn)
2025/02/01(土) 09:04:51.96ID:37vz3mLh0 クライアント側のコードも貼りなよ
945デフォルトの名無しさん (ワッチョイ 9a8b-IJXt)
2025/02/01(土) 11:11:36.44ID:dQW8A9nv0 クラ側のコードは関係ない
ちょっとググったらWindows環境の場合はWin32APIから例外出さないように内部のWinSockオブジェクトにアプローチ書けないとダメっぽいな
なので手っ取り早く安全に行きたいなら65行目のforeach中に一つ一つtry-catchいれて例外の型がSocketExceptionで且つコード10054の場合はClientsリストから削除していくのがいい
その場合はforeachだとその中で削除できないから逆順forでRemoveAtすればいい
ちょっとググったらWindows環境の場合はWin32APIから例外出さないように内部のWinSockオブジェクトにアプローチ書けないとダメっぽいな
なので手っ取り早く安全に行きたいなら65行目のforeach中に一つ一つtry-catchいれて例外の型がSocketExceptionで且つコード10054の場合はClientsリストから削除していくのがいい
その場合はforeachだとその中で削除できないから逆順forでRemoveAtすればいい
946デフォルトの名無しさん (ワッチョイ 9a79-x7zn)
2025/02/01(土) 11:19:07.25ID:37vz3mLh0 いやまあそれを確認するためにまずは再現できるコードを貼れって言ってんだが
お前の先走りでそれもできなくなったかもしれないが
お前の先走りでそれもできなくなったかもしれないが
947デフォルトの名無しさん (ベーイモ MM06-zT4W)
2025/02/01(土) 11:27:36.70ID:pNyJBYQvM pub/subがやりたいだけならMQTTみたいなメッセージングプロトコル使えばいいんじゃないの
勉強なら止めないが
勉強なら止めないが
948デフォルトの名無しさん (ワッチョイ 4e10-EVp+)
2025/02/01(土) 11:43:18.07ID:LNgv56j/0 尋ねられてる問題とは全然関係ねぇけど
クライアント検知のOK返送とデータ定期送信のタイミング同期取って無くてえぇんか?
クライアント検知のOK返送とデータ定期送信のタイミング同期取って無くてえぇんか?
949デフォルトの名無しさん (ワッチョイ 4e10-EVp+)
2025/02/01(土) 11:46:59.69ID:LNgv56j/0 同期取るっつーか、Clients.Addするタイミングって言った方がいいか
950デフォルトの名無しさん (ワッチョイ 5a4b-QkE2)
2025/02/01(土) 12:07:19.60ID:4kSN6ZeX0 すみません、クライアントはこれです
https://www.vector.co.jp/soft/dl/winnt/net/se506180.html
>>945
Sendの部分では例外は発生しないんですよね…
例外が発生するのはReceiveのほうです
https://www.vector.co.jp/soft/dl/winnt/net/se506180.html
>>945
Sendの部分では例外は発生しないんですよね…
例外が発生するのはReceiveのほうです
951デフォルトの名無しさん (ワッチョイ 1a9d-natb)
2025/02/01(土) 13:18:54.72ID:m26c//aC0 これ?stackoverflow.com/a/7478498
952デフォルトの名無しさん (ワッチョイ 5a4b-QkE2)
2025/02/01(土) 14:33:58.55ID:4kSN6ZeX0 Send時に相手が閉じているとICMPパケットが返るので相手が閉じたことがサーバー側で認識されてReceive時にエラーで返すようになってしまうので、特殊な設定でICMPパケットは無視するようにするということですね…
これで動くようになりました、ありがとうございます!
これで動くようになりました、ありがとうございます!
953デフォルトの名無しさん (ワッチョイ 4f5f-IvKH)
2025/02/04(火) 02:13:39.41ID:RZu1A42I0 神がいる
いや
神を超えた神がいる
いや
神を超えた神がいる
954デフォルトの名無しさん (ワッチョイ 8fc9-ISlp)
2025/02/07(金) 18:04:03.84ID:prMQrKbT0 visual studioでソリューションをgitで管理していて、ソリューションを右クリックして例えばテストプロジェクトとか追加します
でこのプロジェクトを書いて、追加したプロジェクトをコミットやプッシュしようとしてgit変更を開いてもそのテストプロジェクトがgitの対象になっていないんです。
どうすればいいんでしょうか
でこのプロジェクトを書いて、追加したプロジェクトをコミットやプッシュしようとしてgit変更を開いてもそのテストプロジェクトがgitの対象になっていないんです。
どうすればいいんでしょうか
955デフォルトの名無しさん (ワッチョイ 3f4c-OCCh)
2025/02/07(金) 18:39:38.58ID:wGzb9z6Q0 多分だけどフォルダ構成に問題があるのでは?
Git管理対象のフォルダの下に各プロジェクトのフォルダが含まれなければならない。
あるべき形
- Hoge/
- .git/
- Hoge.sln
- Hoge/
- Hoge.csproj
- HogeTest/
- HogeTest.csproj
不適切な例
- Hoge/
- .git/
- Hoge.sln
- Hoge.csproj
- HogeTest/ # Gitの対象外
- HogeTest.csproj
Git管理対象のフォルダの下に各プロジェクトのフォルダが含まれなければならない。
あるべき形
- Hoge/
- .git/
- Hoge.sln
- Hoge/
- Hoge.csproj
- HogeTest/
- HogeTest.csproj
不適切な例
- Hoge/
- .git/
- Hoge.sln
- Hoge.csproj
- HogeTest/ # Gitの対象外
- HogeTest.csproj
956デフォルトの名無しさん (ワッチョイ 8fc9-ISlp)
2025/02/07(金) 19:40:55.91ID:prMQrKbT0 あーなるほど、最初にソリューションとプロジェクトを同じフォルダに配置するのチェックボックスを外さないといけなかったんですね
hoge.csprojがslnと同じフォルダに入っちゃって不適切な例の形になる
あれ、そうすると一度作っちゃったら修正効かないのか作り直しか……
hoge.csprojがslnと同じフォルダに入っちゃって不適切な例の形になる
あれ、そうすると一度作っちゃったら修正効かないのか作り直しか……
957デフォルトの名無しさん (ワッチョイ 8fc9-ISlp)
2025/02/07(金) 20:13:51.40ID:prMQrKbT0 できた……ありがとうございました。
誰か同じようなミスをしたときのために書いておきます。
.git/と同じ階層にあたらしくHogeフォルダを作って、hoge.csprojをそこに移動。
それでslnをひらくとHogeプロジェクトがねぇよって言われるからvisualstudioでhogeを削除。それで既存のプロジェクトを追加でさっき移動したcsprojを追加すればオッケー
あとはテストプロジェクトを追加するときも.git/と同じ階層にする。
何時間もかかったのに解決策がわかってみれば単純な話だよ……
誰か同じようなミスをしたときのために書いておきます。
.git/と同じ階層にあたらしくHogeフォルダを作って、hoge.csprojをそこに移動。
それでslnをひらくとHogeプロジェクトがねぇよって言われるからvisualstudioでhogeを削除。それで既存のプロジェクトを追加でさっき移動したcsprojを追加すればオッケー
あとはテストプロジェクトを追加するときも.git/と同じ階層にする。
何時間もかかったのに解決策がわかってみれば単純な話だよ……
958デフォルトの名無しさん (アウアウエー Sabf-J/8e)
2025/02/08(土) 12:00:23.54ID:+3qBIV3va C#はCより速いωωω=2πf
959デフォルトの名無しさん (ワッチョイ 9353-3SV8)
2025/02/10(月) 11:57:56.86ID:5nUxeaay0960デフォルトの名無しさん (ワッチョイ e5c7-a1aX)
2025/02/18(火) 09:02:29.76ID:j/Ngy8Tp0 Winformsなんだけど
非同期の初期化処理をawaitで呼び出したい時ってコンストラクタasyncにできないけどどうするのがベスト?
FormLoadでやる
Formを返すCreateForm()的なものを作る
なんかモヤっとするんだけど他にいい方法あったら教えてください
非同期の初期化処理をawaitで呼び出したい時ってコンストラクタasyncにできないけどどうするのがベスト?
FormLoadでやる
Formを返すCreateForm()的なものを作る
なんかモヤっとするんだけど他にいい方法あったら教えてください
961デフォルトの名無しさん (ラクッペペ MMcb-4Fd/)
2025/02/18(火) 09:19:19.73ID:mekUXLb1M UI的にはとりあえず画面出して頑張ってまーす表示でもしたほうがいいんじゃね?
何分かかるのかしらんけど
何分かかるのかしらんけど
962デフォルトの名無しさん (ワッチョイ edd7-cd+Z)
2025/02/18(火) 11:03:24.07ID:WqZtGUNA0 コンストラクタに、非同期にしなきゃいけないような処理時間の読めない処理書いたらあかん
963デフォルトの名無しさん (ワッチョイ edd7-cd+Z)
2025/02/18(火) 11:03:48.66ID:WqZtGUNA0 フォームのコンストラクタに、だった
964デフォルトの名無しさん (ワッチョイ e535-a1aX)
2025/02/18(火) 13:35:36.79ID:j/Ngy8Tp0 >>963
使いたい外部コントロールの初期化処理が非同期しかないのでどうしようもないのですよ
使いたい外部コントロールの初期化処理が非同期しかないのでどうしようもないのですよ
965デフォルトの名無しさん (ササクッテロル Spe1-oe3m)
2025/02/18(火) 13:40:42.42ID:EOZTpUGhp 初期化処理じゃ無くて、新たにイニシャル処理を書いて、適当なタイミングで非同期待ちすりゃいいんだよ
966デフォルトの名無しさん (ワッチョイ b522-nwfw)
2025/02/18(火) 18:42:55.90ID:lFymebEC0 Loadedイベントなりで遅延初期化すればいいだけ
async voidでawaitしてエラーハンドリングは中で行う
async voidでawaitしてエラーハンドリングは中で行う
967デフォルトの名無しさん (ワッチョイ b522-nwfw)
2025/02/18(火) 18:43:41.45ID:lFymebEC0 コンストラクタに副作用のある操作を書くのはNG
テストもしづらくなる
テストもしづらくなる
968デフォルトの名無しさん (オイコラミネオ MM69-cd+Z)
2025/02/19(水) 11:30:43.17ID:WA7OixNvM async awaitはただのシンタックスシュガーなのでTaskそのまんま使ってwaitしたらよいけど
対象が外部コントロールなのはお作法的にはよくないね
対象が外部コントロールなのはお作法的にはよくないね
969デフォルトの名無しさん (ワッチョイ edd7-cd+Z)
2025/02/19(水) 11:46:36.96ID:w6OGH7sR0 そもそもコントロールの初期化を全部コンストラクタでやらなきゃいけないわけじゃないしな
970デフォルトの名無しさん (ワッチョイ e5d0-a1aX)
2025/02/19(水) 12:17:04.45ID:3B96FmgC0 イベントとかでやらない限りは結局どこでやっても呼び出し元を遡ってコンストラクタまでasyncが連鎖しない?
971デフォルトの名無しさん (ワッチョイ b522-nwfw)
2025/02/19(水) 12:20:19.78ID:DrShOcOZ0972デフォルトの名無しさん (ワンミングク MMab-p2B5)
2025/02/19(水) 12:47:35.71ID:sDswMLTyM 自分はCreateFormでもモヤッとしないな
973デフォルトの名無しさん (ワッチョイ 1b7b-iI+e)
2025/02/19(水) 14:32:26.09ID:mGrw3aeq0 awaitは「あっ待って」で覚えた
オススメ
オススメ
974デフォルトの名無しさん (ササクッテロル Spe1-oe3m)
2025/02/19(水) 14:35:52.58ID:WpIlRpZyp せっかくのタスク化を同期待ちしちまったら旨みが無いよなぁ
975デフォルトの名無しさん (ワッチョイ 8368-3xrs)
2025/02/19(水) 15:09:50.72ID:ttPeeOLl0 UIが固まらないってメリットはある
976デフォルトの名無しさん (オイコラミネオ MM69-cd+Z)
2025/02/19(水) 17:48:47.36ID:WA7OixNvM 初期化が終わってないのに使えても困ると思うよ
977デフォルトの名無しさん (ワッチョイ b522-nwfw)
2025/02/19(水) 18:31:01.47ID:DrShOcOZ0 >>974
awaitは同期待ちじゃないけど?
awaitは同期待ちじゃないけど?
978デフォルトの名無しさん (オイコラミネオ MM69-cd+Z)
2025/02/19(水) 18:33:18.52ID:WA7OixNvM TaskをWaitすることでしょ?
979デフォルトの名無しさん (ワッチョイ cb10-cd+Z)
2025/02/19(水) 19:52:24.76ID:U6FgMrZU0 アホは黙ってドキュメント読みながら勉強してろ
980デフォルトの名無しさん (ワッチョイ e5ab-mlPy)
2025/02/19(水) 20:10:30.40ID:k2nIe6Je0 ドキュメント読みながら勉強できる人はここには来ない
981デフォルトの名無しさん (オイコラミネオ MM69-cd+Z)
2025/02/19(水) 20:12:25.23ID:WA7OixNvM ドコモ間違ってないのに突っかかってくる方がおかしい
982デフォルトの名無しさん (ワッチョイ b522-nwfw)
2025/02/19(水) 20:39:33.83ID:DrShOcOZ0983デフォルトの名無しさん (オイコラミネオ MM69-cd+Z)
2025/02/19(水) 20:42:30.17ID:WA7OixNvM 言葉が通じてないようなのでスルー
それは別として昔見たアプリはコンストラクタに前回接続したサーバーへの自動再接続処理が含まれていた
デザイナで開くとしばらく固まって接続エラーダイアログが出た
しかも非同期処理
それは別として昔見たアプリはコンストラクタに前回接続したサーバーへの自動再接続処理が含まれていた
デザイナで開くとしばらく固まって接続エラーダイアログが出た
しかも非同期処理
984デフォルトの名無しさん (オイコラミネオ MM69-cd+Z)
2025/02/19(水) 20:46:12.23ID:WA7OixNvM 間違えた同期処理だった
985デフォルトの名無しさん (ワッチョイ 4378-2NqA)
2025/02/19(水) 20:57:47.26ID:8RK9cPeY0 >>982
978は968のことを言ってるんじゃないかな
978は968のことを言ってるんじゃないかな
986デフォルトの名無しさん (ワッチョイ b522-nwfw)
2025/02/19(水) 21:02:13.98ID:DrShOcOZ0 > async awaitはただのシンタックスシュガーなのでTaskそのまんま使ってwaitしたらよいけど
完全に嘘ついてるじゃん
なぜTaskが返るメソッドでasync waitを使わずにTaskでwaitするの?
async awaitはUIスレッドに返ってくるメリットもあるわけだけどTaskでこれを実現するのは非常に冗長だし完全に無意味なわけだけど
デマを広げられるのは困るね
完全に嘘ついてるじゃん
なぜTaskが返るメソッドでasync waitを使わずにTaskでwaitするの?
async awaitはUIスレッドに返ってくるメリットもあるわけだけどTaskでこれを実現するのは非常に冗長だし完全に無意味なわけだけど
デマを広げられるのは困るね
987デフォルトの名無しさん (ササクッテロル Spe1-oe3m)
2025/02/19(水) 21:06:35.64ID:z4KoX861p センテンス違いだねww
988デフォルトの名無しさん (ワッチョイ 4378-2NqA)
2025/02/19(水) 21:07:59.09ID:8RK9cPeY0989デフォルトの名無しさん (ワッチョイ b522-nwfw)
2025/02/19(水) 21:10:27.06ID:DrShOcOZ0 シンタックスシュガーだからTaskを使えってのが意味わからんのだけど?
awaitつけるだけでIDEが勝手にasync関数にしてくれるし
Task.ContinueWithを引数付きで呼び出せって言ってんの?
それてもまさかTaskに対してWait()呼んでんの?デッドロックするんだが理解してんのか?
WinFormsって言ってるからSynchronizationContextがあるからasync awaitを使うのは重要なんだが、何がただのシンタックスシュガーだよ
awaitつけるだけでIDEが勝手にasync関数にしてくれるし
Task.ContinueWithを引数付きで呼び出せって言ってんの?
それてもまさかTaskに対してWait()呼んでんの?デッドロックするんだが理解してんのか?
WinFormsって言ってるからSynchronizationContextがあるからasync awaitを使うのは重要なんだが、何がただのシンタックスシュガーだよ
990デフォルトの名無しさん (ササクッテロル Spe1-oe3m)
2025/02/19(水) 21:12:39.53ID:z4KoX861p 面倒な奴らだなぁ
単なるセンテンス違いでメソッドの話と人間の使う単語とが混同されてるだけやんけ
単なるセンテンス違いでメソッドの話と人間の使う単語とが混同されてるだけやんけ
991デフォルトの名無しさん (ワッチョイ b522-nwfw)
2025/02/19(水) 21:16:22.18ID:DrShOcOZ0 > async awaitはただのシンタックスシュガーなのでTaskそのまんま使ってwaitしたらよいけど
センテンス違いも何もこれが完全にデマで間違ってるから指摘してるだけだね
コンストラクタでWaitしたらWinFormsだからUIスレッドブロックして操作不能になるけどそれを理解していってるよな?
GUIアプリでUIスレッドをブロックするのはユーザビリティの観点で最悪だから禁忌なんだが理解してんのか?
ウィンドウ移動もできなくなるし最悪ユーザが強制終了することになるぞ
Loadedイベントなりでasync voidを使ってasync/awaitを使って遅延初期化しろってベストプラクティスを伝えてるだけだね
センテンス違いも何もこれが完全にデマで間違ってるから指摘してるだけだね
コンストラクタでWaitしたらWinFormsだからUIスレッドブロックして操作不能になるけどそれを理解していってるよな?
GUIアプリでUIスレッドをブロックするのはユーザビリティの観点で最悪だから禁忌なんだが理解してんのか?
ウィンドウ移動もできなくなるし最悪ユーザが強制終了することになるぞ
Loadedイベントなりでasync voidを使ってasync/awaitを使って遅延初期化しろってベストプラクティスを伝えてるだけだね
992デフォルトの名無しさん (ササクッテロル Spe1-oe3m)
2025/02/19(水) 21:22:19.81ID:XcW4NAYep メソッドと英単語を上手く読み分けられない…まあ、初心者スレだから仕方ないか
993デフォルトの名無しさん (ワッチョイ b522-nwfw)
2025/02/19(水) 21:26:20.27ID:DrShOcOZ0 どういう解釈をしてもおかしいから文盲としか言いようがないな
コンストラクタでTask.Waitを呼び出せばいい ← GUIアプリでこれをやらないのは常識、意味がわからないアドバイス
async/awaitはTaskのシンタックスシュガーだからContinueWithを使えばいい ← ただ1つずつ待つだけでわざわざTaskを使う理由などない
コンストラクタでTask.Waitを呼び出せばいい ← GUIアプリでこれをやらないのは常識、意味がわからないアドバイス
async/awaitはTaskのシンタックスシュガーだからContinueWithを使えばいい ← ただ1つずつ待つだけでわざわざTaskを使う理由などない
994デフォルトの名無しさん (ササクッテロル Spe1-oe3m)
2025/02/19(水) 21:29:40.44ID:HIluGhdbp 分かっててそこまで粘着してるってw
大文字と小文字をわざわざ書き分けてww
大文字と小文字をわざわざ書き分けてww
995デフォルトの名無しさん (ワッチョイ e332-vA3c)
2025/02/19(水) 22:08:28.58ID:ME4LgXTt0 どっちが粘着してんだかw
996デフォルトの名無しさん (ワッチョイ cb10-cd+Z)
2025/02/19(水) 22:10:53.33ID:U6FgMrZU0 >>980が踏み逃げしとったから次スレ建てといた
ふらっと C#,C♯,C#(初心者用) Part161
https://mevius.5ch.net/test/read.cgi/tech/1739970583/
ふらっと C#,C♯,C#(初心者用) Part161
https://mevius.5ch.net/test/read.cgi/tech/1739970583/
997デフォルトの名無しさん (オイコラミネオ MM69-cd+Z)
2025/02/19(水) 22:11:59.31ID:WA7OixNvM guiでTask.Wait()はダメだった
間違っていた
間違っていた
>>996
乙
乙
999デフォルトの名無しさん (ワッチョイ e332-vA3c)
2025/02/20(木) 06:00:00.71ID:qUsb4IK301000デフォルトの名無しさん (ササクッテロル Spe1-oe3m)
2025/02/20(木) 10:05:37.01ID:NQ9HqBflp わざわざwaitとWaitとで書き分けてる意図w
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 375日 0時間 48分 17秒
新しいスレッドを立ててください。
life time: 375日 0時間 48分 17秒
レス数が1000を超えています。これ以上書き込みはできません。
