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();
答案 0 :(得分:4)
使用Intersect
和Where
:
string[] result = a.Intersect(b).Where(c => !char.IsDigit(c[0])).ToArray();
根据您的评论删除或替换冒号(;):
string[] result = a.Intersect(b).Where(c => !char.IsDigit(c[0]))
.Select(c => c.Replace(';',' ')).ToArray();
答案 1 :(得分:0)
您需要Intersect not Union
string[] result = a.Intersect(b).ToArray();
答案 2 :(得分:-1)
最简单的解决方案是使用spyOn
来完成工作
Linq