内容へ移動
猫型iPS細胞研究所
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
INDEX
»
dotnet
»
Linqの遅延実行
トレース:
dotnet:linqの遅延事項
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== Linqの遅延実行 ====== <code c# "Program.cs"> var m = new Math(); m.Calc(); class Math{ public Math(){ } public void Calc(){ List<string> col = new List<string> {"red","blue","yellow"}; var y = col.Select(x => { Write(x); // Selectは遅延実行なので、Write(x)は書いただけでは呼ばれない return x; }); } public void Write(string msg){ Console.WriteLine(msg); } } </code> ↓ <code> 結果は何も出力されない。 Selectは遅延実行なので、foreachで呼ばれたり、ToList()、ToArray()が呼ばれなければ実際には実行されないからだ。 </code> <code c#> ・・・ var y = col.Select(x => { Write(x); return x; }).ToList(); // ToList()やToArray()をする ・・・ </code> や <code c#> public void Calc(){ List<string> col = new List<string> {"red","blue","yellow"}; var y = col.Select(x => { Write(x); return x; }); foreach(var c in y) // foearchでlinqを呼ぶ { Console.Write(""); } } </code> とするとlinqが実行される。 <code> # dotnet run red blue yellow </code>
dotnet/linqの遅延事項.txt
· 最終更新: 2022/09/21 22:18 by
ips
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ