title: Fast way for String.Except like List.Except
body: <p>Like the new .NET 6, 7 and so on, we have an Except class for lists.</p>
  
  <pre><code>List&lt;int&gt; A = new List&lt;int&gt;();
  List&lt;int&gt; B = new List&lt;int&gt;();
  List&lt;int&gt; C = A.Except(B).ToList();
  </code></pre>
  
  <p>My question is, how would one best go about a string version of the same class:</p>
  
  <pre><code>string A = "&lt;div&gt;&lt;p&gt;One&lt;/p&gt;&lt;p&gt;Two&lt;/p&gt;&lt;/div&gt;";
  string B = "&lt;div&gt;&lt;p&gt;One&lt;/p&gt;&lt;p&gt;Two&lt;/p&gt;&lt;p&gt;Three&lt;/p&gt;&lt;/div&gt;";
  string C = A.Except(B).ToString();
  </code></pre>
  
  <p>Getting the Result = <code>&lt;p&gt;Three&lt;/p&gt;</code></p>
  
  <p>Instead I get:</p>
  
  <pre><code>System.Linq.Enumerable+&lt;ExceptIterator&gt;d__73`1[System.Char]
  </code></pre>
  
  <p>What am I doing wrong?</p>
  
  <p><strong>EDIT:</strong></p>
  
  <p>Simply using the largest string to <strong>Except</strong> the smallest string, reversing the array order:</p>
  
  <pre><code>string C = B.Except(A);
  </code></pre>
  
  <p>and using: <a href="https://stackoverflow.com/a/54131115/1183804">Nick's</a> <code>new string(C.ToArray());</code> gives me:</p>
  
  <pre><code>hr
  </code></pre>
  
  <p>A slightly un expected result after using the reverse.</p>