如何匹配两个数组并使用c#将匹配的值保存到新数组中?

ria*_*iad 0 .net c#

亲爱的,我如何匹配2个数组并使用c#将匹配的值保存到新数组中?

for (int j = 0; j < arrayA.Length; j++)
{
    for (int k = 0; k < arrayB.Length; k++)
    {
        if (arrayA[j] == arrayB[k])
        {               
            arrayB[k];
         //How i keep this matched record into a new array?
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

另一件事:他们是否有任何捷径匹配2阵列并将记录保存到新阵列中?任何善良的心.请帮忙.

dig*_*All 8

为什么不使用LINQ:

var matchingValues = arrayA.Intersect(arrayB).ToArray();
Run Code Online (Sandbox Code Playgroud)

侧面注意:
生成的数组将具有不同的值.


Ali*_*tad 5

将其存储在List<int>您拥有的任何类型中.(我假设你的是int)

   List<int> list = new List<int>();
   for (int j = 0; j < arrayA.Length; j++)
        {
            for (int k = 0; k < arrayB.Length; k++)
            {
                if (arrayA[j] == arrayB[k])
                {               
                    list.Add(arrayB[k]); // HERE !!

                }
            }
        }
Run Code Online (Sandbox Code Playgroud)

现在,如果您需要将其更改为数组,最后可以执行以下操作:

 int[] finalArray = list.ToArray();
Run Code Online (Sandbox Code Playgroud)