如何对于.NET Framework中的KeyedCollection进行排序(C#)

来源:百度知道 编辑:UC知道 时间:2024/09/27 12:26:47
1、集合本身需要一个索引主键。
2、集合需要能够按值排序
3、排序的数据可能存在重复项。

由于以上三点原因:
1、无法使用List<T>类进行排序,因为没有主键。
2、无法使用SortedList<TKey,TValue>和SortedDictionary<TKey,TValue>,因为这两个类只能按照键排序,且键不能重复。
3、KeyedCollection<TKey,TValue>类没有排序功能。

KeyedCollection 泛型类
注意:此类在 .NET Framework 2.0 版中是新增的。

KeyedCollection 也是项的索引列表
KeyedCollection 包含与每个元素关联的一个键
与字典不同,KeyedCollection 的元素不是键/值对;相反,整个元素是值,而键嵌入在值内。
默认情况下,KeyedCollection 包含一个查找字典。当将某一项添加到 KeyedCollection 时,该项的关键字会被一次性提取并保存到查找字典中以加快搜索速度。

注意:元素数首次超过该阈值时将创建查找字典。如果指定的阈值为 -1,则在任何情况下都不会创建查找字典。默认字典创建阈值为零 (0)。

感觉在System.Collections.ArrayList基础上自己再写个类可以实现!不要什么都老想着一步到位,很多东西可以自己再封装一次就能搞定!