取得メソッド①(First、FirstOrDefaullt、Last、LastOrDefault)
Firstメソッドはコレクションの先頭を取得するメソッドです。
int[] values = { 1, 9, 5, 6, 8, 6, 2, 5, 3 }; Console.WriteLine(values.First());
Dim values As Integer() = {1, 9, 5, 6, 8, 6, 2, 5, 3} Console.WriteLine(values.First())
1
正直単体で使用することはほとんどないメソッドですが。
Firstメソッドは他にも引数に条件を指定することで、最初に条件に合った要素を取得することが可能です。
//偶数の最初のデータを取得 Console.WriteLine(values.First(x => x % 2 == 0));
'偶数の最初のデータを取得 Console.WriteLine(values.First(Function(x) x Mod 2 = 0))
6
Firstメソッドの欠点として、コレクションがnullの場合や条件に合った要素が無い場合、System.InvalidOperationExceptionの例外が発生してしまいます。これを回避するメソッドとして、FirstOrDefaultメソッドがあります。FirstOrDefaultメソッドはSystem.InvalidOperationException例外が発生する場合、対象の型の初期値を返します。
Console.WriteLine(values.FirstOrDefault(x => x > 9));
Console.WriteLine(values.FirstOrDefault(Function(x) x > 9))
0
但し、この場合0が最初に見つかったので0を返したのか、例外が発生する状況になったので0を返したのかの判断ができませんので、実際のコーディングではもう少し工夫が必要です。
First、FirstOrDefaultメソッドの逆で、最後の要素から検索するメソッドがLast、LastOrDefaultメソッドです。こちらも例外発生と初期値を返す挙動はFirst、FirstOrDefaultメソッドと同じです。