概要
LINQのTakeWhileメソッドは、指定された条件に一致する要素をシーケンスの先頭から取得するメソッドです。指定された条件が false になった時点でシーケンスの取得を終了します。このメソッドは、Where メソッドと同様に、フィルタリング操作に使用されます。
この記事ではTakeWhileの使用方法を説明します。
公式サイト情報はコチラを参照してください。
構文
public static IEnumerable TakeWhile( this IEnumerable source, Func<TSource, bool> predicate)
source
:要素が返されるシーケンス。predicate
:各要素がテストされる条件を定義する関数。
TakeWhile メソッドは、引数として渡された関数が true を返す限り、シーケンスから要素を取得し続けます。条件が false になった時点で、メソッドの実行を終了し、取得した要素を返します。TakeWhile メソッドの返り値は、フィルタリングされたシーケンスです。
使用例
以下の例では、文字列のリストから、最初の2文字が “A” の要素を取得します。
List list = new List{"Apple", "Airplane", "Banana", "Cat"}; var result = list.TakeWhile(x => x.StartsWith("A") && x.Length >= 2); foreach (var item in result) { Console.WriteLine(item); }
出力:
Apple Airplane
この例では、TakeWhile メソッドに条件として、文字列が “A” で始まることと、長さが 2 以上であることを指定しています。条件に合致する最初の 2 つの要素、”Apple” と “Airplane” が取得されています。 “Banana” では条件が false になるため、シーケンスの取得が終了します。
.NET クラス Tips 一覧
これまでに紹介した .NET Tips 一覧はこちら。
Please follow and like us:
コメント