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
參考:
相關用法
- C# Object.GetHashCode()用法及代碼示例
- C# Object.GetTypeCode()用法及代碼示例
- C# Object.MemberwiseClone用法及代碼示例
- C# Object.ReferenceEquals()用法及代碼示例
- C# Object用法及代碼示例
- C# String Clone()用法及代碼示例
- C# String Compare()用法及代碼示例
- C# String CompareOrdinal()用法及代碼示例
- C# String CompareTo()用法及代碼示例
- C# String Concat()用法及代碼示例
- C# String Contains()用法及代碼示例
- C# String Copy()用法及代碼示例
- C# String CopyTo()用法及代碼示例
- C# String EndsWith()用法及代碼示例
- C# String Equals()用法及代碼示例
- C# String Format()用法及代碼示例
- C# String GetEnumerator()用法及代碼示例
- C# String IndexOf()用法及代碼示例
- C# String Insert()用法及代碼示例
- C# String IsInterned()用法及代碼示例
- C# String IsNormalized()用法及代碼示例
- C# String IsNullOrEmpty()用法及代碼示例
- C# String IsNullOrWhiteSpace()用法及代碼示例
- C# String Join()用法及代碼示例
- C# String LastIndexOf()用法及代碼示例
注:本文由純淨天空篩選整理自Sahil_Bansall大神的英文原創作品 C# | OrderedDictionary Class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。