C# 从另一个列表中删除项目列表
假设我有一个包含10个元素的列表框,我将前4个元素放在一个列表列表1中,其余元素放在另一个列表列表2中:C# 从另一个列表中删除项目列表,c#,C#,假设我有一个包含10个元素的列表框,我将前4个元素放在一个列表列表1中,其余元素放在另一个列表列表2中: list2 = listbox.remove(list1); 像这样的。这可能吗 谢谢。使用LINQ,您可以轻松做到这一点: list2 = listbox.Items.Except(list1); 但是,Except需要比较列表中的项目和列表框中的项目以生成结果。上面的示例默认行为假设列表中的项的类型是通过引用比较唯一标识的,在本例中这听起来不错 如果类实现了IEquatable和/或
list2 = listbox.remove(list1);
像这样的。这可能吗
谢谢。使用LINQ,您可以轻松做到这一点:
list2 = listbox.Items.Except(list1);
但是,Except需要比较列表中的项目和列表框中的项目以生成结果。上面的示例默认行为假设列表中的项的类型是通过引用比较唯一标识的,在本例中这听起来不错
如果类实现了IEquatable和/或重写Equals,则Except将使用该方法测试相等性。使用LINQ可以轻松做到这一点:
list2 = listbox.Items.Except(list1);
但是,Except需要比较列表中的项目和列表框中的项目以生成结果。上面的示例默认行为假设列表中的项的类型是通过引用比较唯一标识的,在本例中这听起来不错
如果类实现了IEquatable和/或重写Equals,则Except使用该方法测试相等性。list2=listbox.Items.Exceptlist1可能?list2=listbox.Items.Exceptlist1可能?