从另一个列表中删除一个列表中的项
本文关键字:列表 一个 另一个 删除 | 更新日期: 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
需要比较list
和listbox
中的项目才能得出结果。上面的示例(默认行为)假设列表中项目的类型是由引用比较唯一标识的(在这种情况下听起来很好)。
如果类实现了IEquatable<T>
和/或覆盖了Equals
,那么Except
使用该方法来测试是否相等。