C# 数组去重复,并且减去另一个数组。

时间:2022-09-03 17:17:58
比如我有数组string[] strTPname = new string[]{E,B,B,D,D,A,A,C,C,E,C,B,C,D};
string[] strPname = new string[]{A,B}


怎么先把strTPname 中的重复项去掉,然后再排除掉strPname 中的项,输出一个新数组?

结果是{E,D,C}


先谢谢了

6 个解决方案

#1


如果用循环写代码就多了,还是用 LINQ吧:
string[] strTPname = new string[]{"A","A","B","C"};
string[] strPname = new string[] { "B" };
string[] result = strTPname.Distinct().Except(strPname).ToArray();

#2


引用 1 楼 tcmakebest 的回复:
如果用循环写代码就多了,还是用 LINQ吧:
string[] strTPname = new string[]{"A","A","B","C"};
string[] strPname = new string[] { "B" };
string[] result = strTPname.Distinct().Except(strPname).ToArray();



额,虽然不懂linq,也没用过,但是试了一下,你这句话,真心好用!!! C# 数组去重复,并且减去另一个数组。

#3


引用 1 楼 tcmakebest 的回复:
如果用循环写代码就多了,还是用 LINQ吧:
string[] strTPname = new string[]{"A","A","B","C"};
string[] strPname = new string[] { "B" };
string[] result = strTPname.Distinct().Except(strPname).ToArray();


+1

#4


Linq在集合操作中的优越性是显而易见的。

#5


linq 正解 ,非常方便

#6


该回复于2014-05-24 16:35:47被管理员删除

#1


如果用循环写代码就多了,还是用 LINQ吧:
string[] strTPname = new string[]{"A","A","B","C"};
string[] strPname = new string[] { "B" };
string[] result = strTPname.Distinct().Except(strPname).ToArray();

#2


引用 1 楼 tcmakebest 的回复:
如果用循环写代码就多了,还是用 LINQ吧:
string[] strTPname = new string[]{"A","A","B","C"};
string[] strPname = new string[] { "B" };
string[] result = strTPname.Distinct().Except(strPname).ToArray();



额,虽然不懂linq,也没用过,但是试了一下,你这句话,真心好用!!! C# 数组去重复,并且减去另一个数组。

#3


引用 1 楼 tcmakebest 的回复:
如果用循环写代码就多了,还是用 LINQ吧:
string[] strTPname = new string[]{"A","A","B","C"};
string[] strPname = new string[] { "B" };
string[] result = strTPname.Distinct().Except(strPname).ToArray();


+1

#4


Linq在集合操作中的优越性是显而易见的。

#5


linq 正解 ,非常方便

#6


该回复于2014-05-24 16:35:47被管理员删除