|
|
15行目: |
15行目: |
| return source.Select(group => string.Format("Key={0}, Source={1}", group.Key, group.ToResult())).ToResult(); | | return source.Select(group => string.Format("Key={0}, Source={1}", group.Key, group.ToResult())).ToResult(); |
| } | | } |
| </syntaxhighlight>
| |
| <br><br>
| |
|
| |
| == 要素の取得(単一) ==
| |
| 該当の要素がない場合<br>
| |
| * ~OrDefaultが付いていないメソッドは例外をスローする。<br>
| |
| * ~OrDefaultが付いたメソッドは型の規定値を返す。<br>
| |
| <center>
| |
| {| class="wikitable"
| |
| |-
| |
| ! メソッド名 !! 機能
| |
| |-
| |
| | ElementAt<br>ElementAtOrDefault || 指定した位置(インデックス)にある要素を返す。
| |
| |-
| |
| | First<br>FirstOrDefault || 最初の要素を返す。
| |
| |-
| |
| | Last<br>LastOrDefault || 最後の要素を返す。
| |
| |-
| |
| | Single<br>SingleOrDefault || 唯一の要素を返す。該当する要素が複数ある場合、例外をスローする。
| |
| |}
| |
| </center>
| |
| <syntaxhighlight 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
| |
| </syntaxhighlight> | | </syntaxhighlight> |
| <br><br> | | <br><br> |