C# SortedList类
SortedList类表示由键排序,并且通过键和索引访问键- 值对的集合。
一个排序列表是一个数组,哈希表的组合。它包含可使用键或索引来访问的项目的列表。如果使用一个索引访问项目,这是一个ArrayList,如果使用一键访问项目,这是一个Hashtable。集合的项总是由键值排序。
SortedList类的方法和属性
下表列出了一些排序列表类的常用属性:
属性 | 描述 |
---|---|
Capacity | 获取或设置排序列表的容量 |
Count | 获取包含在排序列表元素的数量 |
IsFixedSize | 获取一个值,指示排序列表是否具有固定大小 |
IsReadOnly | 获取一个值,指示排序列表是否为只读 |
Item | Gets and sets the value associated with a specific key in the SortedList. |
Keys | 获取的排序列表的键 |
Values | 获取的排序列表(SortedList)中的值 |
下表列出了一些排序列表(SortedList)类的常用方法:
S.N | 方法名称及用途 |
---|---|
1 |
public virtual void Add( object key, object value ); 将带有指定键和值到排序列表的元素 |
2 |
public virtual void Clear(); 将删除SortedList的所有元素 |
3 |
public virtual bool ContainsKey( object key ); 确定SortedList 中是否包含一个特定的键 |
4 |
public virtual bool ContainsValue( object value ); 确定SortedList 是否包含特定的值 |
5 |
public virtual object GetByIndex( int index ); 获取SortedList中指定索引处的值 |
6 |
public virtual object GetKey( int index ); 获取SortedList中指定索引处的键 |
7 |
public virtual IList GetKeyList(); 获取SortedList的键 |
8 |
public virtual IList GetValueList(); 获取SortedList中的值 |
9 |
public virtual int IndexOfKey( object key ); 返回在排序列表中指定键从零开始的索引 |
10 |
public virtual int IndexOfValue( object value ); 返回在SortedList中指定的值第一次出现的从零开始的索引 |
11 |
public virtual void Remove( object key ); 删除从SortedList表中指定键的元素 |
12 |
public virtual void RemoveAt( int index ); 删除SortedList中指定索引处的元素 |
13 |
public virtual void TrimToSize(); 设置在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"); } // get a collection of the keys. 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