C#从IEnumerable集合中删除重复对象

C#从IEnumerable集合中删除重复对象,c#,collections,ienumerable,C#,Collections,Ienumerable,我有一个主要的数字收藏, 另一个较小的集合包含较大集合中的一些副本 IEnumerable<T> all_objects ; IEnumerable<T> some_of_the_objects ; 伊万的答案是正确的;首先,您可能需要一个自行开发的相等比较器,除非副本实际上是对同一对象的另一个引用。但是,如果您有一个唯一性单元(ID、名称、某些属性组合),则可以将该func作为谓词传递给.Except,并根据需要消除列表中的重复项。Ivan的答案是正确的;

我有一个主要的数字收藏, 另一个较小的集合包含较大集合中的一些副本

   IEnumerable<T> all_objects ;
   IEnumerable<T> some_of_the_objects ;

伊万的答案是正确的;首先,您可能需要一个自行开发的相等比较器,除非副本实际上是对同一对象的另一个引用。但是,如果您有一个唯一性单元(ID、名称、某些属性组合),则可以将该func作为谓词传递给.Except,并根据需要消除列表中的重复项。

Ivan的答案是正确的;首先,您可能需要一个自行开发的相等比较器,除非副本实际上是对同一对象的另一个引用。但如果您有一个唯一性单元(ID、名称、某些属性组合),则可以将该func作为谓词传递给.Except,并根据需要消除列表中的重复项。

这些记录是对相同对象的引用,因此Ivan的回答似乎有效。谢谢你提供的信息。这些记录是对相同对象的引用,所以伊万的答案似乎有效。不过,感谢您提供的信息。在相关问题上,这里有一个关于在没有重复值的情况下加入两个列表的答案在相关问题上,这里有一个关于在没有重复值的情况下加入两个列表的答案
  foreach(T _object in some_of_the_objects)
  {
      all_objects.Remove(_object); 
  }
all_objects = all_objects.Except(some_of_the_objects);