2014-04-28 244 views
0

我有一個winform C#sql應用程序,其中我檢索數據和存儲在字符串中。像這樣。比較一個字符串與多個其他字符串

string a1 = Convert.ToString(srj[@"Sub_1"]); 
        string a2 = Convert.ToString(srj[@"Sub_2"]); 
        string a3 = Convert.ToString(srj[@"Sub_3"]); 
        string a4 = Convert.ToString(srj[@"Sub_4"]); 
        string a5 = Convert.ToString(srj[@"Sub_5"]); 
        string a6 = Convert.ToString(srj[@"Sub_6"]); 
        string a7 = Convert.ToString(srj[@"Sub_7"]); 
        string a8 = Convert.ToString(srj[@"Sub_8"]); 
        string a9 = Convert.ToString(srj[@"Sub_9"]); 
        string a10 = Convert.ToString(srj[@"Sub_10"]); 
        string a11 = Convert.ToString(srj[@"Sub_11"]); 
        string a12 = Convert.ToString(srj[@"Sub_12"]); 

這裏我檢索12個值。現在我想用a1,a2 ... a29等字符串比較每個值。如果兩個字符串都匹配相應的複選框且必須檢查該字符串。 但我看到它的方式,我必須比較30個字符串與第一個值,然後30個字符串與第二個值,等等。

有沒有辦法使用其他方法做到這一點?

+0

如果您必須將所有字符串與eachother進行比較,則沒有其他方法。 –

+0

一個forloop和使用'Sub + i.ToString()'想到...但不是所有的轉換爲字符串,你不能比較他們的真實類型? – Sayse

+0

@ChristopheDeTroyer:所以我必須爲460條件編寫代碼? –

回答

0

OK - 試試這個

String[] myList1 = new String[] {"a","ab", "ba", "cc", "ab"}; 
String[] myList2 = new String[] {"a","abc", "ba", "c2c", "ab1", "cccc", "ba"}; 

var keyResult = myList1.Where(x=>myList2.Contains(x)).ToArray(); 

給出包含 「一個」 和 「八」 的數組。這兩個數組的長度不必相同。它還將重複項目作爲單個項目進行處理。

然後還有一組交集方法。

var keyResult2 = myList1.Intersect(myList2).ToArray(); 
相關問題