title: Confused by C# lambda expression
body: <p>I have been learning about the lambda expression, I got happy when I finally can read/understand the => operator, it kind of means "where" to me</p>
  
  <pre><code>List&lt;int&gt; a = new List&lt;int&gt;(){0,1,2,1,3,4,5,6,7,8,9};
  IEnumerable&lt;int&gt; b = a.FindAll(x =&gt; x&gt;=5);
  foreach (int x in b)
  Console.WriteLine(x);
  </code></pre>
  
  <p>Reading the above line, personally makes sense to read it as "Find all x's from this list <em>WHERE</em> x is greater than or equal 5", very good.
  But then I come across a different use of the lambda expression with the Select method.</p>
  
  <pre><code>List&lt;int&gt; a = new List&lt;int&gt;(){0,1,2,1,3,4,5,6,7,8,9};
  IEnumerable&lt;int&gt; b1 = a.Select(x =&gt; x*2);
  foreach (int x in b)
  Console.WriteLine(x);
  </code></pre>
  
  <p>With this one, the previous way of reading this operator doesn't make sense, as to me this code does "For each x return x*2", which is very different "function" to what the same operator does in the previous case.
  I understand that the difference is between .FindAll and .Select, different way of dealing with input and output parameters, but I am talking about the use of the operator => in the lambda expression.</p>