title: Understand linq syntax
body: <p>I am really confused to understand its internal working 
  This is LINQ syntax</p>
  
  <pre><code>string[] test = new test[] { "abc", "", "cd", "", "aa" };
  test = test.Where(x =&gt; !string.IsNullOrEmpty(x)).ToArray();
  </code></pre>
  
  <p>I am confused about where syntax how it manages. is it put all array in x? if yes then how it manage x null value?</p>
  
  <p>or </p>
  
  <p>if not then test array values put one by one in the x?</p>