C#排序列表
精华
小牛编辑
145浏览
2023-03-14
在 C# 中,SortedList 类用来表示键/值对的集合,这些键/值对按照键值进行排序,并且可以通过键或索引访问集合中的各个项。
我们可以将排序列表看作是数组和哈希表的组合,其中包含了可以使用键或索引访问各项的列表。如果您使用索引访问各项,那么它就是一个动态数组(ArrayList),如果您使用键访问各项,那么它就是一个哈希表(Hashtable)。另外,集合中的各项总是按键值进行排序。
关于 SortedList 类中的完整属性和方法介绍,可以查阅 C# 官方文档。
【示例】下面通过示例演示 SortedList 类中属性和方法的使用:
我们可以将排序列表看作是数组和哈希表的组合,其中包含了可以使用键或索引访问各项的列表。如果您使用索引访问各项,那么它就是一个动态数组(ArrayList),如果您使用键访问各项,那么它就是一个哈希表(Hashtable)。另外,集合中的各项总是按键值进行排序。
SortedList 类的中的属性
下表列出了 SortedList 类中一些常用的属性:属性 | 描述 |
---|---|
Capacity | 获取或设置排序列表中可包含的元素个数 |
Count | 获取排序列表中的元素个数 |
IsFixedSize | 判断排序列表是否具有固定大小 |
IsReadOnly | 判断排序列表是否只读 |
Item | 获取或设置排序列表中指定键所关联的值 |
Keys | 获取一个包含排序列表中所有键的集合 |
Values | 获取一个包含排序列表中所有值的集合 |
SortedList 类的中的方法
下表列出了 SortedList 类中一些常用的方法:方法名 | 描述 |
---|---|
public virtual void Add(object key, object value) | 向排序列表中添加一个带有指定的键和值的元素 |
public virtual void Clear() | 从排序列表中移除所有的元素 |
public virtual bool ContainsKey(object key) | 判断排序列表中是否包含指定的键 |
public virtual bool ContainsValue(object value) | 判断排序列表中是否包含指定的值 |
public virtual object GetByIndex(int index) | 获取排序列表中指定索引处的值 |
public virtual object GetKey(int index) | 获取排序列表中指定索引处的键 |
public virtual IList GetKeyList() | 获取排序列表中的键 |
public virtual IList GetValueList() | 获取排序列表中的值 |
public virtual int IndexOfKey(object key) | 返回排序列表中指定键的索引,索引从零开始 |
public virtual int IndexOfValue(object value) | 返回排序列表中指定值第一次出现的索引,索引从零开始 |
public virtual void Remove(object key) | 从排序列表中移除带有指定键的元素 |
public virtual void RemoveAt(int index) | 移除排序列表中指定索引处的元素 |
public virtual void TrimToSize() | 将排序列表的容量设置为排序列表中元素的实际个数 |
关于 SortedList 类中的完整属性和方法介绍,可以查阅 C# 官方文档。
【示例】下面通过示例演示 SortedList 类中属性和方法的使用:
using System; using System.Collections; namespace www.xnip.cn { class Demo { static void Main(string[] args){ SortedList sl = new SortedList(); sl.Add("001", "小明"); sl.Add("002", "小红"); sl.Add("003", "小强"); if (sl.ContainsValue("张三")){ Console.WriteLine("该学生姓名以存在"); }else{ sl.Add("004", "张三"); } // 获取键的集合 ICollection key = sl.Keys; foreach (string k in key){ Console.WriteLine(k + ": " + sl[k]); } } } }运行结果如下:
001: 小明
002: 小红
003: 小强
004: 张三