我是一个使用C#的新手,实际上我是python开发人员,我试图创建一个只能包含唯一值的列表,如果出现一些重复的值,它将不允许进入列表
List<int> iList = new List<int>();
iList.Add(2);
iList.Add(3);
iList.Add(5);
iList.Add(7);
列表=2,3,5,7
**在python中,我们这样做只是为了避免列表中的重复**
if(iList.indexof(value)!=-1){
iList.append(value)
}
但是我们应该在C#中做些什么才能达到类似的效果呢?感谢您的努力。
发布于 2017-11-07 04:22:16
C#列表也有类似的方法:if (!iList.Contains(value)) iList.Add(value);
或者,您可以使用HashSet<int>
。在这里你不需要添加任何条件:
var hasSet = new HashSet<int>();
hashSet.Add(1);
hashSet.Add(1);
发布于 2017-11-07 04:28:49
**在C#中,我们(可以)这样做是为了避免列表中出现重复**
if (iList.IndexOf(value) == -1 ) {
iList.Add(value);
}
发布于 2017-11-07 04:24:48
HashSet将确保任何对象只有一个实例。如果您想要一个不同于对象本身的键,则可以使用Dictionary。同样,字典不允许重复键。
一个HashSet不会抛出异常,如果你试图放入一个副本,它只是不会添加它。
字典将抛出重复键异常。
https://stackoverflow.com/questions/47145062
复制相似问题