【发布时间】:2015-06-23 18:19:48
【问题描述】:
这是我上一个问题的结果 How to remove int[] from List<int[]>?
我现在正在尝试删除 List int[] 中的 int[] 列表。
int[] t1 = new int[] { 0, 2 };
List<int[]> trash = new List<int[]>()
{
t1,
new int[] {0,2},
new int[] {1,0},
new int[] {1,1}
};
List<int[]> trash2 = new List<int[]>()
{
new int[] {0,1},
new int[] {1,0},
new int[] {1,1}
};
MessageBox.Show(trash.Count + "");
trash.RemoveRange(trash2);
MessageBox.Show(trash.Count + "");
我尝试将trash2 中的所有int[] 添加到trash 数组中,然后从trash2 数组中删除具有相同值的项目,但是它只从trash2 中删除了第一个int[]。
他们还有其他从 List 数组中删除 List 数组的方法吗?
【问题讨论】:
-
您的样本的预期输出是什么?
-
@DimiToulakis,您是否尝试使用数组作为元素类型?
-
我想删除所有与第二个数组的 int[] 值相同的 int[]。换句话说,我想从两个 List int[] 之间的差异中获得一个 int[] 列表
-
我建议使用
.Except和为int[]编写的IEqualityComparer。 -
列表中的顺序是否相关?数组中的顺序是否相关?您应该显示示例的预期结果。