C#中利用HashSet代替List
.NET3.5多了个HasSet
HashSet
那它的优势是什么呢?
检索的性能。简单的说它的Contains方法的性能在大数据量时比List
那么,在集合的目的是为了检索的情况下,我们应该使用HashSet
HashSet
另:如果数据量很小,那么任然推荐使用List
这个“小”是多小呢?其实是用Hashtable还是ListDictionary时存在同样的取舍问题,.NET为其设计了HybridDictionary类实现一个混合容器,当数量小于等于8(目前是8,不保证微软以后不会变)的时候,HybridDictionary内部使用ListDictionary,当数量大于8的时候,HybridDictionary内部使用Hashtable。所以,如果我们知道我们集合的数量不会大于8的话,就算目的是为了检索,任然推荐使用List
文章来源:http://www.173it.cn/view-6643-1.html