2017-03-16 32 views
-3

我需要比较漂亮含有许多字符串
如何数组比较了一些列C#

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 
          } 
        } 
       } 
      } 

与同为阵列1和ARRAY3,阵列1和array4

+2

比什么更快?什么是你需要做的事情?你有这样的代码吗?你需要展示给我们。 –

回答

1

您的问题并不清楚,在所有的,但如果你想找到两个字符串数组之间的匹配,你可以使用LINQ

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);