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