排序列表 哈希表 堆栈 C# 排序列表(SortedList) SortedList 类代表了一系列按照键来排序的键/值对,这些键值对可以通过键和索引来访问。 排序列表是数组和哈希表的组合。它包含一个可使用键或索引访问各项的列表。如果您使用索引访问各项,则它是一个动态数组(ArrayList),如果您使用键访问各项,则它是一个哈希表(Hashtable)。集合中的各项总是按键值排序。 SortedList 类的方法和属性 下表列出了 SortedList 类的一些常用的 属性: 属性描述 Capacity 获取或设置 SortedList 的容量。 Count获取 SortedList 中的元素个数。 IsFixedSize获取一个值,表示 SortedList 是否具有固定大小。 IsReadOnly获取一个值,表示 SortedList 是否只读。 Item获取或设置与 SortedList 中指定的键相关的值。 Keys获取 SortedList 中的键。 Values获取 SortedList 中的值。 下表列出了 SortedList 类的一些常用的 方法: 序号方法名 & 描述 1public virtual void Add( object key, object value ); 向 SortedList 添加一个带有指定的键和值的元素。 2public virtual void Clear(); 从 SortedList 中移除所有的元素。 3public virtual bool ContainsKey( object key ); 判断 SortedList 是否包含指定的键。 4public virtual bool ContainsValue( object value ); 判断 SortedList 是否包含指定的值。 5public virtual object GetByIndex( int index ); 获取 SortedList 的指定索引处的值。 6public virtual object GetKey( int index ); 获取 SortedList 的指定索引处的键。 7public virtual IList GetKeyList(); 获取 SortedList 中的键。 8public virtual IList GetValueList(); 获取 SortedList 中的值。 9public virtual int IndexOfKey( object key ); 返回 SortedList 中的指定键的索引,索引从零开始。 10public virtual int IndexOfValue( object value ); 返回 SortedList 中的指定值第一次出现的索引,索引从零开始。 11public virtual void Remove( object key ); 从 SortedList 中移除带有指定的键的元素。 12public virtual void RemoveAt( int index ); 移除 SortedList 的指定索引处的元素。 13public virtual void TrimToSize(); 设置容量为 SortedList 中元素的实际个数。 实例 下面的实例演示了排序列表(SortedList)的概念: using System; using System.Collections; namespace CollectionsApplication { class Program { static void Main(string[] args) { SortedList sl = new SortedList(); sl.Add("001", "Zara Ali"); sl.Add("002", "Abida Rehman"); sl.Add("003", "Joe Holzner"); sl.Add("004", "Mausam Benazir Nur"); sl.Add("005", "M. Amlan"); sl.Add("006", "M. Arif"); sl.Add("007", "Ritesh Saikia"); if (sl.ContainsValue("Nuha Ali")) { Console.WriteLine("This student name is already in the list"); } else { sl.Add("008", "Nuha Ali"); } // 获取键的集合 ICollection key = sl.Keys; foreach (string k in key) { Console.WriteLine(k + ": " + sl[k]); } } } } 当上面的代码被编译和执行时,它会产生下列结果: 001: Zara Ali 002: Abida Rehman 003: Joe Holzner 004: Mausam Banazir Nur 005: M. Amlan 006: M. Arif 007: Ritesh Saikia 008: Nuha Ali 哈希表 堆栈