首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在单位中使用C#避免列表中的重复值

如何在单位中使用C#避免列表中的重复值
EN

Stack Overflow用户
提问于 2017-11-07 04:19:42
回答 3查看 7.6K关注 0票数 2

我是一个使用C#的新手,实际上我是python开发人员,我试图创建一个只能包含唯一值的列表,如果出现一些重复的值,它将不允许进入列表

代码语言:javascript
复制
List<int> iList = new List<int>();
    iList.Add(2);
    iList.Add(3);
    iList.Add(5);
    iList.Add(7);

列表=2,3,5,7

**在python中,我们这样做只是为了避免列表中的重复**

代码语言:javascript
复制
if(iList.indexof(value)!=-1){
iList.append(value)
}

但是我们应该在C#中做些什么才能达到类似的效果呢?感谢您的努力。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-11-07 04:22:16

C#列表也有类似的方法:if (!iList.Contains(value)) iList.Add(value);

或者,您可以使用HashSet<int>。在这里你不需要添加任何条件:

代码语言:javascript
复制
var hasSet = new HashSet<int>(); 
hashSet.Add(1);
hashSet.Add(1);
票数 8
EN

Stack Overflow用户

发布于 2017-11-07 04:28:49

**在C#中,我们(可以)这样做是为了避免列表中出现重复**

代码语言:javascript
复制
if (iList.IndexOf(value) == -1 ) {
    iList.Add(value);
}
票数 6
EN

Stack Overflow用户

发布于 2017-11-07 04:24:48

HashSet将确保任何对象只有一个实例。如果您想要一个不同于对象本身的键,则可以使用Dictionary。同样,字典不允许重复键。

一个HashSet不会抛出异常,如果你试图放入一个副本,它只是不会添加它。

字典将抛出重复键异常。

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

https://stackoverflow.com/questions/47145062

复制
相关文章

相似问题

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