IEnumerable オブジェクトやIQueryableオブジェクトのSelect メソッドと Where メソッドの違いを紹介します。
IEnumerable インターフェイスやIQueryable インターフェイスには Select メソッドと Where メソッドが実装されています。この記事ではそれぞれのメソッドの違いについて紹介します。
Whereメソッドの利用例はこちらの記事を参照してください。
Selectメソッドの利用例はこちらの記事を参照してください。
Selectメソッドは引数にFunc<T,TResult>
を与えます。一方Whereメソッドは引数に`Func<T, bool>‘を与えます。
SelectメソッドはIenumerable<TResult>
を返します。一方WhereメソッドはIenumerable<T>
を返します。
引数の型 | 戻り値の型 | 動作 | |
---|---|---|---|
Selectメソッド | Func<T,TResult> | IEnumerable<TResult> | 与えたFuncの戻り値を列挙したIEnumerableオブジェクトをSelectメソッドの戻り値として返します |
Whereメソッド | Func<T, bool> | Ienumerable<T> | 与えたFuncの戻り値がTrueのオブジェクトを列挙したIEnumerableオブジェクトをWhereメソッドの戻り値として返します。 |