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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。