2017-03-16 16 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);