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メソッドの戻り値として返します。 |