title: Linq .All returning true for empty collection
body: <p>Consider the following code:</p>
  
  <pre><code>static void Main(string[] args)
  {
      List&lt;string&gt; items = new List&lt;string&gt;();
      string result = null;
  
      if(items.All(o =&gt; o == "ABC"))
      {
          result = "All";
      }
      else if(items.Any(o =&gt; o == "XYZ"))
      {
          result = "Any";
      }
  
      Console.WriteLine(result);
      Console.Read();
  }
  </code></pre>
  
  <p>This prints "All".</p>
  
  <p>Why does an <strong>empty</strong> list satisfy an "All" condition where <code>o == "ABC"</code></p>