Chapter3 ラムダ式と LINQ の基礎
Chapter 3 の続きです。LINQ を使って、データに対する問い合わせ処理を簡単に記述することができます。
LINQ to Objects
class Program2 { static void Main(string[] args) { var names = new List<string> { "Tokyo", "Kanagawa", "Saitama", "Chiba", }; IEnumerable<string> query = names.Where(s => s.Length <= 5); foreach (string s in query) { Console.WriteLine(s); } } }
メソッドチェーンを適用させることもできます。
IEnumerable<string> query = names.Where(s => s.Length <= 5) .Select(s => s.ToUpper());
注意として、クエリ演算子の中で遅延実行とされるものは、検索は値が必要となるときに実行されるということです。
遅延実行
class Program2 { static void Main(string[] args) { var names = new List<string> { "Tokyo", "Kanagawa", "Saitama", "Chiba", }; IEnumerable<string> query = names.Where(s => s.Length <= 5) .Select(s => s.ToUpper()); foreach (string s in query) { Console.WriteLine(s); } names[0] = "kyoto"; foreach (string s in query) { Console.WriteLine(s); } } }
出力
TOKYO CHIBA KYOTO CHIBA
本

実戦で役立つ C#プログラミングのイディオム/定石&パターン
- 作者: 出井秀行
- 出版社/メーカー: 技術評論社
- 発売日: 2017/02/18
- メディア: 大型本
- この商品を含むブログ (1件) を見る