Linq: What is the difference between Select and Where

SBurris picture SBurris · Jul 31, 2009 · Viewed 57.7k times · Source

The Select and Where methods are available in Linq. What should every developer know about these two methods? For example: when to use one over the other, any advantages of using one over the other, etc.

Answer

Drew Noakes picture Drew Noakes · Jul 31, 2009

Where

finds items that match and only returns those that do (filtering).

-> IEnumerable<A> in, IEnumerable<A> out

Select

returns something for all items in the source (projection / transformation). That something might be the items themselves, but are more usually a projection of some sort.

-> IEnumerable<A> in, IEnumerable<B> out