IEnumerable オブジェクトやIQueryableオブジェクトのSelect メソッドと Where メソッドの違い - C#

IEnumerable オブジェクトやIQueryableオブジェクトのSelect メソッドと Where メソッドの違いを紹介します。

概要

IEnumerable インターフェイスやIQueryable インターフェイスには Select メソッドと Where メソッドが実装されています。この記事ではそれぞれのメソッドの違いについて紹介します。

Whereメソッド, Selectメソッドの例

Whereメソッドの利用例はこちらの記事を参照してください。
Selectメソッドの利用例はこちらの記事を参照してください。

Whereメソッド, Selectメソッドの違い

Selectメソッドは引数にFunc<T,TResult>を与えます。一方Whereメソッドは引数に`Func<T, bool>‘を与えます。
SelectメソッドはIenumerable<TResult> を返します。一方WhereメソッドはIenumerable<T>を返します。

SelectメソッドとWhereメソッドの違い
引数の型戻り値の型動作
SelectメソッドFunc<T,TResult>IEnumerable<TResult>与えたFuncの戻り値を列挙したIEnumerableオブジェクトをSelectメソッドの戻り値として返します
WhereメソッドFunc<T, bool>Ienumerable<T>与えたFuncの戻り値がTrueのオブジェクトを列挙したIEnumerableオブジェクトをWhereメソッドの戻り値として返します。

著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2019-01-22
iPentec all rights reserverd.