如何将数组与多个数组进行比较C#

时间:2017-03-16 20:34:09

标签: c# arrays cycle

我需要比较一个包含很多字符串的数组

Array 1. {"Moscow", "Paris", "London", "Minsk", ... and so on} <br>

到其他一些阵列

Array 2. {"Moscow", "Barselona", "Sydney"} <br>
Array 3. {"Madrid", "Kiev", "London", "Minsk"}<br>

和其他人。

然后我需要显示匹配并更改班级中的一些变量 像这样:展示莫斯科,伦敦和明斯克。

然后,例如:
我们有班级城市和那里的一些城市。

由于我们有共同的莫斯科,我需要做一些事情,例如:

Moscow.var=&lt;some value&gt; <br>

如何更快地完成这项工作?

UPD:比一个阵列与其他阵列逐个比较更快。

var array1 = new[] {"Moscow", "Paris", "London", "Minsk"};
var array2 = new [] {"Madrid", "Kiev", "London", "Minsk"};
for (int i = 0; i < Array1.Length; i++)
            {
                for (int t = 0; t < array2.Length; t++)
                {
                    if (array1[i] == array2[t])
                    {
                        MessageBox.Show(i.ToString());
                        switch (i) {
                        case 0: 
                        Moscow.common=true;
                        break;
                        And cases here for all the possible i's
                          }
                    }
                }
            }

对于array1和array3,array1和array4

也是如此

1 个答案:

答案 0 :(得分:1)

您的问题根本不明确,但如果您想在两个字符串数组之间找到匹配项,可以使用var array1 = new[] {"Moscow", "Paris", "London", "Minsk"}; var array2 = new [] {"Madrid", "Kiev", "London", "Minsk"}; var common= from ar1 in array1 join ar2 in array2 on ar1 equals ar2 select ar1; //or var common2= array1.Join(array2, ar1 => ar1, ar2 => ar2, (ar1, ar2) => ar1); 之类的内容

/1024*2014;