从另一个列表中删除一个列表中的项

本文关键字:列表 一个 另一个 删除 | 更新日期: 2023-09-27 18:02:16

假设我有一个包含10个元素的listBox,我将前4个元素放在List List中,list1,其余元素放在另一个List List中:

list2 = listbox.remove(list1);

就像这样。这可能吗?

谢谢。

从另一个列表中删除一个列表中的项

使用LINQ:

可以很容易地做到这一点
list2 = listbox.Items.Except(list1);

然而,Except需要比较listlistbox中的项目才能得出结果。上面的示例(默认行为)假设列表中项目的类型是由引用比较唯一标识的(在这种情况下听起来很好)。

如果类实现了IEquatable<T>和/或覆盖了Equals,那么Except使用该方法来测试是否相等。