[LINQ] LINQ to Objects(TakeWhileメソッド)

ある要素から、先頭から条件が満たされる間、値を取得したい場合には TakeWhileメソッドを使用します。

動作としてはSkipWhileメソッドと逆になります。

例えば、以下は先頭から8未満の数値が続く限り値を取得して出力する例です。

要素は、3,5,2,1,9,8,7なので、9が現れたときに条件を満たさなくなるため、結果として3,5,2,1を出力します。

VBの例

Dim numbers() As Integer = {3, 5, 2, 1, 9, 8, 7}

For Each item As Integer In numbers.TakeWhile(Function(n) n < 8)
    Console.WriteLine(item)
Next

C#の例

int[] numbers = { 3, 5, 2, 1, 9, 8, 7 };

foreach(var item in numbers.TakeWhile(n => n < 8))
{
    Console.WriteLine(item);
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.