title: Get the difference between two lists of the same type of object
body: <p>I have two lists of the exact same type of object. One has more items than the other. I would like to find the difference between the two and have attempted multiple ways but all seem to return the full list and not the difference being one item or more.</p>
  
  <pre><code>        List&lt;Permission&gt; defaultPermList = defaultRole.Permissions.ToList();
          foreach (var role in roles)
          {
              List&lt;Permission&gt; rolePermList = role.Permissions.ToList();
              //All 3 below return the full set of defaultPermList. not the difference of the two lists
              var permissions1 = defaultPermList.RemoveAll(x =&gt; rolePermList.Contains(x));
              var permissions2 = defaultPermList.Where(x =&gt; !rolePermList.Contains(x)).ToList();
              var permissions3 = defaultPermList.Except(rolePermList).ToList();
          }
  </code></pre>
  
  <p>I have looked at numerous other questions and answers hence all my different attempts.</p>