title: Get different and common items in two arrays with LINQ
body: <p>For example, I have two arrays:</p>
  
  <pre><code>var list1 = string[] {"1", "2", "3", "4", "5", "6"};
  var list2 = string[] {"2", "3", "4"};
  </code></pre>
  
  <p>What I'm trying to do is -</p>
  
  <ol>
  <li>Get common items from <code>list1</code> and <code>list2</code> (eg. {"2", "3", "4"})</li>
  <li>Get different items <code>list1</code> and <code>list2</code> (eg. {"1", "5", "6"})</li>
  </ol>
  
  <p>So I've tried with LINQ and - </p>
  
  <pre><code>var listDiff = list1.Except(list2); //This gets the desire result for different items
  </code></pre>
  
  <p>But,</p>
  
  <pre><code>var listCommon = list1.Intersect(list2); //This doesn't give me desire result. Comes out as {"1", "5", "6", "2", "3", "4"};
  </code></pre>
  
  <p>Any ideas?</p>