string[] a = { 2; a; 3; b; 4; c}
string[] b = { 2; a; 6; c}
我想比較這兩個數組並刪除所有數字(2,3,4,6)值並將匹配字符串值存儲在另一個數組中。如何比較兩個字符串數組並將匹配值存儲在另一個字符串數組中?
我想要的結果是這樣的:
string[] c = {a; c;}
我試過,但它是將所有的值。
string[] result = a.Union(b).ToArray();
string[] a = { 2; a; 3; b; 4; c}
string[] b = { 2; a; 6; c}
我想比較這兩個數組並刪除所有數字(2,3,4,6)值並將匹配字符串值存儲在另一個數組中。如何比較兩個字符串數組並將匹配值存儲在另一個字符串數組中?
我想要的結果是這樣的:
string[] c = {a; c;}
我試過,但它是將所有的值。
string[] result = a.Union(b).ToArray();
你需要不相交聯
string[] result = a.Intersect(b).ToArray();
最簡單的辦法是使用Linq
做工作
int tmp;
var c = a.Where(x => b.Contains(x) && !int.TryParse(x, out tmp)).ToArray();
不可以,因爲它在數字的末尾有';'。所以'!int.TryParse(2,out tmp)'會計算爲false,並且它也會返回結果。 –
此列表的表示法是無效的C#結構。應該有'''代替';'所以我認爲這是錯字。不管你想要達到什麼目的,「123」是一個數字,「123」;是一個字符串。 – Misiakw
「聯合」不能像那樣工作。使用'Intersect' – Sweeper