「LINQ - 要素の取得」の版間の差分

ナビゲーションに移動 検索に移動
65行目: 65行目:
   
   
  Console.WriteLine(source.ElementAt(2));
  Console.WriteLine(source.ElementAt(2));
  // 5
  // -> 5
   
   
  Console.WriteLine(source.ElementAtOrDefault(10));
  Console.WriteLine(source.ElementAtOrDefault(10));
  // 0
  // -> 0
   
   
  Console.WriteLine(source.First());
  Console.WriteLine(source.First());
  // 3
  // -> 3
   
   
  Console.WriteLine(source.First(e => e > 5));
  Console.WriteLine(source.First(e => e > 5));
  // 6
  // -> 6
var emptyList = new List<int>();
Console.WriteLine($"FirstOrDefault() on empty list: {emptyList.FirstOrDefault()}");
// -> int型のデフォルト値 : 0
   
   
  Console.WriteLine(source.Last());
  Console.WriteLine(source.Last());
  // 9
  // -> 9
   
   
  Console.WriteLine(source.Last(e => e < 5));
  Console.WriteLine(source.Last(e => e < 5));
  // 4
  // -> 4
Console.WriteLine(source.LastOrDefault(x => x > 10));
// -> int型のデフォルト値 : 0
   
   
  Console.WriteLine(source.Single());
  Console.WriteLine(source.Single());
  // System.InvalidOperationException: シーケンスに複数の要素が含まれている
  // -> System.InvalidOperationException: シーケンスに複数の要素が含まれている
   
   
  Console.WriteLine(source.Single(e => e < 4 ));
  Console.WriteLine(source.Single(e => e < 4 ));
  // 3
  // -> 3
Console.WriteLine(source.SingleOrDefault(x => x == 3));
// -> 3
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br><br>

案内メニュー