微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在C#中对数组执行设置减法?

在C#中给出两个数组的最简单的方法是执行设置减法?显然这是 Ruby中的 dead easy.基本上我只想从数组a中的元素中删除数组b:
string[] a = new string[] { "one","two","three","four" };
string[] b = new string[] { "two","four","six" };
string[] c = a - b; // not valid

c应该等于{“一”,“三”}. b – a会产生{“六”}.

解决方法

如果您使用Linq,可以使用 Except operator这样:
string [] c = a.Except(b).ToArray();

编辑:CodeInChaos是一个好点.如果一个包含重复的内容,它也会删除任何重复的.使其功能完全像Ruby版本的替代方法是:

string [] c = a.Where(x=>!b.Contains(x)).ToArray();

原文地址:https://www.jb51.cc/csharp/93557.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐