C#中的List集合中可以出现重复值吗
展开全部
List集合可以出现重复值,List集合的特性如下:
1、List<T> 类是 ArrayList 类的泛型等效类。该类使用大小可按需动态增加的数组实现 IList<T> 泛型接口。
2、List<T> 类既使用相等比较器又使用排序比较器。
诸如 Contains、IndexOf、LastIndexOf 和 Remove 这样的方法对列表元素使用相等比较器。类型 T 的默认相等比较器按如下方式确定。如果类型 T 实现 IEquatable<T> 泛型接口,则相等比较器为该接口的 Equals(T)方法;否则,默认相等比较器为 Object.Equals(Object)。
诸如 BinarySearch 和 Sort 这样的方法对列表元素使用排序比较器。类型 T 的默认比较器按如下方式确定。如果类型 T 实现 IComparable<T> 泛型接口,则默认比较器为该接口的 CompareTo(T) 方法;否则,如果类型T 实现非泛型 IComparable 接口,则默认比较器为该接口的 CompareTo(Object) 方法。如果类型 T 没有实现其中任一个接口,则不存在默认比较器,并且必须显式提供比较器或比较委托。
3、List<T> 不保证是排序的。在执行要求 List<T> 已排序的操作(例如 BinarySearch)之前,您必须对 List<T> 进行排序。
4、可使用一个整数索引访问此集合中的元素。此集合中的索引从零开始。
5、List<T> 接受 null 作为引用类型的有效值并且允许有重复的元素。
1、List<T> 类是 ArrayList 类的泛型等效类。该类使用大小可按需动态增加的数组实现 IList<T> 泛型接口。
2、List<T> 类既使用相等比较器又使用排序比较器。
诸如 Contains、IndexOf、LastIndexOf 和 Remove 这样的方法对列表元素使用相等比较器。类型 T 的默认相等比较器按如下方式确定。如果类型 T 实现 IEquatable<T> 泛型接口,则相等比较器为该接口的 Equals(T)方法;否则,默认相等比较器为 Object.Equals(Object)。
诸如 BinarySearch 和 Sort 这样的方法对列表元素使用排序比较器。类型 T 的默认比较器按如下方式确定。如果类型 T 实现 IComparable<T> 泛型接口,则默认比较器为该接口的 CompareTo(T) 方法;否则,如果类型T 实现非泛型 IComparable 接口,则默认比较器为该接口的 CompareTo(Object) 方法。如果类型 T 没有实现其中任一个接口,则不存在默认比较器,并且必须显式提供比较器或比较委托。
3、List<T> 不保证是排序的。在执行要求 List<T> 已排序的操作(例如 BinarySearch)之前,您必须对 List<T> 进行排序。
4、可使用一个整数索引访问此集合中的元素。此集合中的索引从零开始。
5、List<T> 接受 null 作为引用类型的有效值并且允许有重复的元素。
展开全部
可以的,list里的对象都是唯一的,但是对象的值可以相同。比如List<People> People类里有两个People实例:小张和小王,他们的年龄属性可以相同的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以的,和数组类似。如果用作键的话(如Dictionary和HashSet以及HashTable等)则是不允许的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个是可以的,list里边可以放同类型任何值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以,如果是键值对的话(比如:Dictionary)键是不可以重复的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询