假设我有一个包含10个元素的listBox,我将前4个元素放在List list1中,其余元素放在另一个List list2中:
list2 = listbox.remove(list1);
像这样的东西。这是可能的吗?
感谢。
答案 0 :(得分:5)
您可以使用LINQ轻松完成此操作:
list2 = listbox.Items.Except(list1);
但是,Except
需要比较list
中的项目和listbox
中的项目以产生结果。上面的示例(默认行为)假定列表中项目的类型由参考比较唯一标识(在这种情况下听起来很好)。
如果类实现IEquatable<T>
和/或覆盖Equals
,则Except
使用该方法测试是否相等。