首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >集合A减去集合B

集合A减去集合B
EN

Stack Overflow用户
提问于 2013-04-18 02:07:14
回答 3查看 1.7K关注 0票数 3

我正在尝试以最有效的方式从另一组中取走一组。因此,如果我有下面的集合A和B,那么A_minus_B应该给出{1,2,6}。这就是我所拥有的,尽管我确信这不是最有效的方法。

代码语言:javascript
复制
HashSet<int> A = new HashSet<int>{ 1, 2, 3, 4, 5, 6 };
HashSet<int> B = new HashSet<int> { 3, 4, 5 };

HashSet<int> A_minus_B = new HashSet<int>(A);

foreach(int n in A){
    if(B.Contains(n)) A_minus_B.Remove(n);
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-18 02:08:18

您可以使用Except()方法。代码如下:

代码语言:javascript
复制
HashSet<int> A_minus_B = new HashSet<int>(A.Except(B)); 
票数 10
EN

Stack Overflow用户

发布于 2013-04-18 02:09:56

使用以下命令:

代码语言:javascript
复制
var setA= new HashSet<int>();
var setB= new HashSet<int>();
...

var remaining = new HashSet<int>(setA);
remaining.ExceptWith(setB);

remaining是您的新过滤集合。

票数 2
EN

Stack Overflow用户

发布于 2013-04-18 02:09:10

您可以使用ExceptWith,它将通过删除B中的项来修改A

代码语言:javascript
复制
A.ExceptWith(B);

您也可以使用Except,它将返回新的set;

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16067072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档