title: Compare Two Arrays Of Different Lengths and Show Differences
body: <p><b>Problem:</b>
  <br />
  I have two arrays that can possibly be different lengths.  I need to iterate through both arrays and find similarities, additions, and deletions.</p>
  
  <p>What's the fastest and most efficient way to accomplish this in C#?</p>
  
  <p><i>Edit:</i>
  The arrays are pre-sorted and they can contain anywhere between 50-100 items.  Also, there aren't any constraints on speed and/or memory usage (however, no one likes a memory hog;)</p>
  
  <hr />
  
  <p><b>For example:</b></p>
  
  <pre><code>String[] Foo_Old = {"test1", "test2", "test3"};
  String[] Foo_New = {"test1", "test2", "test4", "test5"};
  </code></pre>
  
  <p>AND</p>
  
  <pre><code>String[] Bar_Old = {"test1", "test2", "test4"};
  String[] Bar_New = {"test1", "test3"};
  </code></pre>
  
  <hr />
  
  <p><b>Differences:</b></p>
  
  <p><i>(with respect to the Foo_New array)</i></p>
  
  <pre>
  [Same]    "test1"
  [Same]    "test2"
  [Removed] "test3"
  [Added]   "test4"
  [Added]   "test5"
  </pre>
  
  <p><i>(with respect to the Bar_New array)</i></p>
  
  <pre>
  [Same]    "test1"
  [Removed] "test2"
  [Removed] "test4"
  [Added]   "test3"
  </pre>