共同元素序列

时间:2014-03-19 08:29:59

标签: c#-4.0

我有两个整数类型的数组。

int[] righttarray=new int[] {6,9,8,1,5,3};
int[] leftarray=new int[] {1,3};

现在我必须找出这两者之间的共同元素以及我需要匹配公共元素索引。如果索引是相同的那么它是ok,如果不是那么序列将从rightarray维护。

我在C#中通过intersect方法获取Common元素。

参见,元素1和3在两个数组中都很常见。但在“leftarray”中他们的序列在0,1和“rightarray”中他们的序列在3,5。如何检查这是我的问题。谢谢!!

帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

好的,尝试类似:

int[] righttarray = new int[] { 6, 3, 8, 1, 5, 3 };
int[] leftarray = new int[] { 1, 3 };

if (righttarray.Length < leftarray.Length)
{
    var result = righttarray.Where((x, i) => righttarray[i] == leftarray[i]);
}
else
{
    var result = leftarray.Where((x, i) => leftarray[i] == righttarray[i]);
}

这将为您提供数字3,它在相同的索引中且具有相同的元素编号。在你的例子中,输出将为空,我只更改为检查它;)