[過去ログ]
ふらっと C#,C♯,C#(初心者用) Part138 (1002レス)
ふらっと C#,C♯,C#(初心者用) Part138 http://mevius.5ch.net/test/read.cgi/tech/1528194762/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
204: デフォルトの名無しさん (ワッチョイ c251-G00F) [sage] 2018/06/18(月) 18:39:23.10 ID:rGsHjxJX0 >>196 > むしろ、async Task Hoge() { } がタスク戻さないのにコンパイル通ることのほうが問題じゃね > つかほんとにこれ警告だけで通って正常に動くの? > そのときHoge()で何が帰ってきてるんだ? 確かに一見すると不思議ですよね。 このあたりの詳しい話は TaskAwaiter で検索するとお知りいただけると思います。 >>197 >>201 > await Task.CompletedTask >>162 に書いていただいていることを仰っているのだと思いますが、 >>162 は >>161 の方法の不味さを説明するために await Task.CompletedTask を 引き合いに出されただけで、実際にこの方法を推奨されているわけではないと思います。 私自身も、async Task Hoge() { } と Task Hoge() => Task.CompletedTask; は それぞれメリットがあるのに対して sync Task Hoge() => await Task.CompletedTask; は すべての面で上 2 つに劣っていると考えておりますが、いかがでしょうか。 >>198 > 最適化してCompletedTaskでも返すのかなとも思ったけど > IL見ると他と同じようにコード生成して実行してんね 大変ためになる情報をどうもありがとうございます。 私も確認してみましたが、async Task Hoge() { } と Task Hoge() => Task.CompletedTask; との間にこれだけ IL のコードに差があると 前者を使うのは躊躇してしまいますね。そもそも私は > このオーバーヘッドが必要な処理 になる状況が分からず、CompletedTask を返すように最適化が行われるべきだと思うのですが、 「await なしの async」と「CompletedTask 返し」との間の違いに気づいていらっしゃるようであれば ぜひお教えいただけないでしょうか。 http://mevius.5ch.net/test/read.cgi/tech/1528194762/204
207: デフォルトの名無しさん (ワッチョイ c29d-zq67) [sage] 2018/06/19(火) 05:31:43.83 ID:R/zbDFZs0 >>204 そもそもawait なしの asyncが必要な理由も場面も思い浮かばんが 自分一人でやってるなら好きにすればいいんじゃね 最適化うんぬんを言うなら、Taskを返すどころかそんな呼び出しそのものが不要じゃね http://mevius.5ch.net/test/read.cgi/tech/1528194762/207
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.035s