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