C# SortedList类:有序列表
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术: VS C# SortedList类
作者:刘铭聪
撰写时间:2022年8月9日
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C# SortedList类:有序列表
C# SortedList 类实现了 IDictionary 接口 ,集合中的值都是以键值对的形式存取的。
C# SortedList 称为有序列表,按照 key 值对集合中的元素排序。
SortedList 集合中所使用的属性和方法与上一节《C# Hashtable》中介绍的 Hashtable 比较类似。
SortedList 类中常用的属性和方法如下表所示。
下面通过实例来演示 SortedList 集合的使用。
【实例】使用 SortedList 实现挂号信息的添加、查找以及遍历操作。
根据题目要求,向 SortedList 集合中添加 3 位挂号信息(挂号编号、姓名),并根据患者编号查找患
者姓名,遍历所有的挂号信息。具体的代码如下。
执行上面的代码,效果如下图所示。
从上面的执行效果可以看出,SortedList 集合中的元素是按 key 值的顺序排序的。
一、常用方法
1、SortedList.Add(Object, Object) 方法
将带有指定键和值的元素添加到 SortedList 对象。
public virtual void Add (object key, object value);
指定键 key 唯一,但 value可以为 null。
2、SortedList.Clear 方法
从 SortedList 对象中移除所有元素。
public virtual void Clear ();
3、SortedList.Contains(Object) 方法
确定 SortedList 对象是否包含特定键。
public virtual bool Contains (object key);
如果 key 对象包含带有指定 SortedList 的元素,则为 true;否则为 false。
Contains 可实现 IDictionary.Contains。 它的行为与 ContainsKey完全相同。
4、SortedList.ContainsKey(Object) 方法
确定 SortedList 对象是否包含特定键。
public virtual bool ContainsKey (object key);
如果 key 对象包含带有指定 SortedList 的元素,则为 true;否则为 false。
5、SortedList.ContainsValue(Object) 方法
确定 SortedList 对象是否包含特定值。
public virtual bool ContainsValue (object value);
如果 value 对象包含带有指定 SortedList 的元素,则为 true;否则为 false。
6、SortedList.CopyTo(Array, Int32) 方法
从指定数组索引开始将 SortedList 元素赋值到一维 Array 对象中。
public virtual void CopyTo (Array array, int arrayIndex);
源 SortedList 对象中的元素数目要小于等于从 arrayIndex 到目标 array 末尾之间的可用空间。
若要仅复制 SortedList中的密钥,请使用 SortedList.Keys.CopyTo。
若要仅复制 SortedList中的值,请使用 SortedList.Values.CopyTo。
7、SortedList.Remove(Object) 方法
从 SortedList 对象中移除带有指定键的元素。
public virtual void Remove (object key);
8、SortedList.RemoveAt(Int32) 方法
移除 SortedList 对象的指定索引处的元素。
public virtual void RemoveAt (int index);
9、SortedList.TrimToSize 方法
将容量设置为 SortedList 对象中元素的实际数目。
public virtual void TrimToSize ();
二、常用属性
1、SortedList.Capacity 属性
获取或设置 SortedList 对象可包含的容量。
public virtual int Capacity { get; set; }
2、SortedList.Count 属性
获取 SortedList 对象中的实际包含的元素数。
public virtual int Count { get; }