for WPF developers
Home Profile Tips 全記事一覧

First 拡張メソッドで先頭要素を取得する

(2017/03/08 17:33:49 created.)

(2017/03/13 8:30:05 modified.)

First 拡張メソッドはシーケンスの先頭要素を取得します。シーケンスが空の場合は実行時に例外が発生します。

Program.cs
  1. namespace Tips_Linq
  2. {
  3.     using System;
  4.     using System.Linq;
  5.  
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             var numbers = new int[] { 1, 3, 5, 2, 7, 8, 9 };
  11.             Console.WriteLine("コレクションの要素は {{ {0} }} です。", string.Join(", ", numbers));
  12.  
  13.             var top = numbers.First();
  14.             Console.WriteLine("先頭の要素は {{ {0} }} です。", top);
  15.  
  16.             Console.ReadKey();
  17.         }
  18.     }
  19. }


これだけだと ElementAt 拡張メソッドで 0 番目の要素を取り出す処理とほとんど変わりませんが、First 拡張メソッドは次のような条件を付けることができます。

Program.cs
  1. namespace Tips_Linq
  2. {
  3.     using System;
  4.     using System.Linq;
  5.  
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             var numbers = new int[] { 1, 3, 5, 2, 7, 8, 9 };
  11.             Console.WriteLine("コレクションの要素は {{ {0} }} です。", string.Join(", ", numbers));
  12.  
  13.             var top = numbers.First(x => x % 2 == 0);
  14.             Console.WriteLine("初めに偶数となる要素は {{ {0} }} です。", top);
  15.  
  16.             Console.ReadKey();
  17.         }
  18.     }
  19. }
  20. 1


条件を引数に渡した場合、条件を満たす要素がひとつもない場合は実行時に例外が発生します。