當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C# OrderedDictionary用法及代碼示例


OrderedDictionary 類表示可通過鍵或索引訪問的鍵/值對的集合。它存在於 System.Collections.Specialized 命名空間中。

OrderedDictionary 類的屬性:

  • 每個元素都是一個鍵/值對,存儲在DictionaryEntry對象。
  • 鑰匙不能空值,但可以是一個值。
  • OrderedDictionary 的元素不按鍵排序。
  • 元素可以通過鍵或索引來訪問。

Constructors

構造函數 說明
OrderedDictionary() 初始化 OrderedDictionary 類的新實例。
OrderedDictionary(IEqualityComparer) 使用指定的比較器初始化 OrderedDictionary 類的新實例。
有序字典(Int32) 使用指定的初始容量初始化 OrderedDictionary 類的新實例。
OrderedDictionary(Int32,IEqualityComparer) 使用指定的初始容量和比較器初始化 OrderedDictionary 類的新實例。
OrderedDictionary(SerializationInfo, StreamingContext) 初始化 OrderedDictionary 類的新實例,該實例可使用指定的 SerializationInfo 和 StreamingContext 對象進行序列化。

例子:


// C# code to create a OrderedDictionary 
using System; 
using System.Collections; 
using System.Collections.Specialized; 
  
class GFG { 
  
    // Driver method 
    public static void Main() 
    { 
  
        // Creating a orderedDictionary named myDict 
        OrderedDictionary myDict = new OrderedDictionary(); 
  
        // Adding key and value in myDict 
        myDict.Add("1", "ONE"); 
        myDict.Add("2", "TWO"); 
        myDict.Add("3", "THREE"); 
  
        // Displaying the number of key/value 
        // pairs in myDict 
        Console.WriteLine(myDict.Count); 
  
        // Displaying the key/value pairs in myDict 
        foreach(DictionaryEntry de in myDict) 
            Console.WriteLine(de.Key + " --> " + de.Value); 
    } 
} 

輸出:

3
1 --> ONE
2 --> TWO
3 --> THREE

Properties

屬性 說明
Count 獲取 OrderedDictionary 集合中包含的鍵/值對的數量。
IsReadOnly 獲取一個值,該值指示OrderedDictionary 集合是否為隻讀。
項目[Int32] 獲取或設置指定索引處的值。
項目[對象] 獲取或設置具有指定鍵的值。
Keys 獲取包含 OrderedDictionary 集合中的鍵的 ICollection 對象。
Values 獲取包含 OrderedDictionary 集合中的值的 ICollection 對象。

示例 1:


// C# code to check if OrderedDictionary 
// collection is read-only 
using System; 
using System.Collections; 
using System.Collections.Specialized; 
  
class GFG { 
  
    // Driver method 
    public static void Main() 
    { 
  
        // Creating a orderedDictionary named myDict 
        OrderedDictionary myDict = new OrderedDictionary(); 
  
        // Adding key and value in myDict 
        myDict.Add("key1", "value1"); 
        myDict.Add("key2", "value2"); 
        myDict.Add("key3", "value3"); 
        myDict.Add("key4", "value4"); 
        myDict.Add("key5", "value5"); 
  
        // Checking if OrderedDictionary 
        // collection is read-only 
        Console.WriteLine(myDict.IsReadOnly); 
    } 
} 

輸出:

False

示例 2:


// C# code to get the number of 
// key/values pairs contained 
// in the OrderedDictionary 
using System; 
using System.Collections; 
using System.Collections.Specialized; 
  
class GFG { 
  
    // Driver method 
    public static void Main() 
    { 
  
        // Creating a orderedDictionary named myDict 
        OrderedDictionary myDict = new OrderedDictionary(); 
  
        // Adding key and value in myDict 
        myDict.Add("A", "Apple"); 
        myDict.Add("B", "Banana"); 
        myDict.Add("C", "Cat"); 
        myDict.Add("D", "Dog"); 
  
        // To Get the number of key/values 
        // pairs contained in the OrderedDictionary 
        Console.WriteLine("Number of key/value pairs are : " 
                                            + myDict.Count); 
    } 
} 

輸出:

Number of key/value pairs are : 4

Methods

方法 說明
Add(Object, Object) 將具有指定鍵和值的條目添加到具有最低可用索引的 OrderedDictionary 集合中。
AsReadOnly() 返回當前 OrderedDictionary 集合的隻讀副本。
Clear() 從 OrderedDictionary 集合中刪除所有元素。
Contains(Object) 確定 OrderedDictionary 集合是否包含特定鍵。
複製到(數組,Int32) 將 OrderedDictionary 元素複製到指定索引處的一維 Array 對象。
Equals(Object) 確定指定對象是否等於當前對象。
GetEnumerator() 返回迭代 OrderedDictionary 集合的 IDictionaryEnumerator 對象。
GetHashCode() 用作默認的哈希函數。
GetObjectData(SerializationInfo, StreamingContext) 實現 ISerialized 接口並返回序列化 OrderedDictionary 集合所需的數據。
GetType() 獲取當前實例的類型。
插入(Int32,對象,對象) 使用指定索引處的指定鍵和值將新條目插入OrderedDictionary 集合中。
MemberwiseClone() 創建當前對象的淺拷貝。
OnDeserialization(Object) 實現 ISerialized 接口,當反序列化完成時由反序列化事件回調。
Remove(Object) 從 OrderedDictionary 集合中刪除具有指定鍵的條目。
刪除 (Int32) 從 OrderedDictionary 集合中刪除指定索引處的條目。
ToString() 返回表示當前對象的字符串。

示例 1:


// C# code to get a read-only 
// copy of the OrderedDictionary 
using System; 
using System.Collections; 
using System.Collections.Specialized; 
  
class GFG { 
  
    // Driver method 
    public static void Main() 
    { 
  
        // Creating a orderedDictionary named myDict 
        OrderedDictionary myDict = new OrderedDictionary(); 
  
        // Adding key and value in myDict 
        myDict.Add("key1", "value1"); 
        myDict.Add("key2", "value2"); 
        myDict.Add("key3", "value3"); 
        myDict.Add("key4", "value4"); 
        myDict.Add("key5", "value5"); 
  
        // To Get a read-only copy of 
        // the OrderedDictionary 
        OrderedDictionary myDict_1 = myDict.AsReadOnly(); 
  
        // Checking if myDict_1 is read-only 
        Console.WriteLine(myDict_1.IsReadOnly); 
    } 
} 

輸出:

True

示例 2:


// C# code to remove the entry 
// with the specified key from 
// the OrderedDictionary 
using System; 
using System.Collections; 
using System.Collections.Specialized; 
  
class GFG { 
  
    // Driver method 
    public static void Main() 
    { 
  
        // Creating a orderedDictionary named myDict 
        OrderedDictionary myDict = new OrderedDictionary(); 
  
        // Adding key and value in myDict 
        myDict.Add("key1", "value1"); 
        myDict.Add("key2", "value2"); 
        myDict.Add("key3", "value3"); 
        myDict.Add("key4", "value4"); 
        myDict.Add("key5", "value5"); 
  
        // Displaying the number of element initially 
        Console.WriteLine("Number of elements are : " + myDict.Count); 
  
        // Displaying the elements in myDict 
        foreach(DictionaryEntry de in myDict) 
            Console.WriteLine(de.Key + " -- " + de.Value); 
  
        // Removing the entry with the specified 
        // key from the OrderedDictionary 
        myDict.Remove("key2"); 
  
        // Displaying the number of element initially 
        Console.WriteLine("Number of elements are : " + myDict.Count); 
  
        // Displaying the elements in myDict 
        foreach(DictionaryEntry de in myDict) 
            Console.WriteLine(de.Key + " -- " + de.Value); 
    } 
} 

輸出:

Number of elements are : 5
key1 -- value1
key2 -- value2
key3 -- value3
key4 -- value4
key5 -- value5
Number of elements are : 4
key1 -- value1
key3 -- value3
key4 -- value4
key5 -- value5

參考:



相關用法


注:本文由純淨天空篩選整理自Sahil_Bansall大神的英文原創作品 C# | OrderedDictionary Class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。