title: Find() vs. Where().FirstOrDefault()
body: <p>I often see people using <code>Where.FirstOrDefault()</code> to do a search and grab the first element. Why not just use <code>Find()</code>? Is there an advantage to the other? I couldn't tell a difference.</p>
  
  <pre><code>namespace LinqFindVsWhere
  {
      class Program
      {
          static void Main(string[] args)
          {
              List&lt;string&gt; list = new List&lt;string&gt;();
              list.AddRange(new string[]
              {
                  "item1",
                  "item2",
                  "item3",
                  "item4"
              });
  
              string item2 = list.Find(x =&gt; x == "item2");
              Console.WriteLine(item2 == null ? "not found" : "found");
              string item3 = list.Where(x =&gt; x == "item3").FirstOrDefault();
              Console.WriteLine(item3 == null ? "not found" : "found");
              Console.ReadKey();
          }
      }
  }
  </code></pre>