我有3个阵列。高级删除阵列重复
Array 1 = {1,1,1,1,2,2,3,3}
Array 2 = {a,a,a,a,e,e,b,b}
Array 3 = {z,z,z,z,z,z,z,z}
我想从阵列1中删除所有重复和还除去同一元件在所述在其他阵列重复,以保持它们的所有正确链接。我知道你可以使用.Distinct()。ToArray()为一个数组做这个,但其他数组也不会删除这些元素。
结果看起来像这样。
Array 1 = {1,2,3}
Array 2 = {a,e,b}
Array 3 = {z,z,z}
我猜想解决这个问题的唯一方法是以下几点。
For(int a = 0; a < Array1.count; a++) {
For(int b = a + 1; b < Array1.count; b++) {
if(Array1[a]==Array1[b]) {
Array1.RemoveAt(b);
Array2.RemoveAt(b);
Array3.RemoveAt(b);
}
}
}
但是很高兴找到一个简单的预定义函数!
你确定应该*真的*有三个数组,而不是一个数组,其中每个元素都由三个不同的值组成?当你有多个需要保持锁定步骤的集合时,我总是感到紧张... – 2013-02-13 18:13:58
你不能为另外两个数组做'.Distinct().Tarray()'吗? – Brian 2013-02-13 18:14:03
如何发布一些实际的代码,你的问题是其他地方,Distinct()应该工作 – 2013-02-13 18:15:22