位置:首頁 > 高級語言 > C#教學 > C# SortedList類

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