「LINQ - 拡張メソッド一覧」の版間の差分
ナビゲーションに移動
検索に移動
24行目: | 24行目: | ||
|} | |} | ||
</center> | </center> | ||
<source lang="c#"> | |||
var source = new[] { 3, 4, 5, 6, 7, 8, 9, 9 }; | |||
Console.WriteLine(source.ElementAt(2)); | |||
// → 5 | |||
Console.WriteLine(source.ElementAtOrDefault(10)); | |||
// → 0 | |||
Console.WriteLine(source.First()); | |||
// → 3 | |||
Console.WriteLine(source.First(e => e > 5)); | |||
// → 6 | |||
Console.WriteLine(source.Last()); | |||
// → 9 | |||
Console.WriteLine(source.Last(e => e < 5)); | |||
// → 4 | |||
Console.WriteLine(source.Single()); | |||
// → System.InvalidOperationException: シーケンスに複数の要素が含まれている | |||
Console.WriteLine(source.Single(e => e < 4 )); | |||
// → 3 | |||
</source> | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:C_Sharp]] | [[カテゴリ:C_Sharp]] |
2019年10月20日 (日) 15:17時点における版
概要
C#のLINQを種類ごとにまとめて、簡単なサンプルを記述する。
結果の表示に、独自の拡張メソッドToResult(this IEnumerable)を使用している。
このメソッドは、本文の最後に記載する。(サンプルコードのダウンロードはこちら)
要素の取得(単一)
該当の要素がない場合
- ~OrDefaultが付いていないメソッドは例外をスローする。
- ~OrDefaultが付いたメソッドは型の規定値を返す。
メソッド名 | 機能 |
---|---|
ElementAt ElementAtOrDefault |
指定した位置(インデックス)にある要素を返す。 |
First FirstOrDefault |
最初の要素を返す。 |
Last LastOrDefault |
最後の要素を返す。 |
Single SingleOrDefault |
唯一の要素を返す。該当する要素が複数ある場合、例外をスローする。 |
var source = new[] { 3, 4, 5, 6, 7, 8, 9, 9 };
Console.WriteLine(source.ElementAt(2));
// → 5
Console.WriteLine(source.ElementAtOrDefault(10));
// → 0
Console.WriteLine(source.First());
// → 3
Console.WriteLine(source.First(e => e > 5));
// → 6
Console.WriteLine(source.Last());
// → 9
Console.WriteLine(source.Last(e => e < 5));
// → 4
Console.WriteLine(source.Single());
// → System.InvalidOperationException: シーケンスに複数の要素が含まれている
Console.WriteLine(source.Single(e => e < 4 ));
// → 3