C# | OrderedDictionary 类
原文:https://www . geeksforgeeks . org/c-sharp-ordereddictionary-class/
orderedddictionary 类表示可由键或索引访问的键/值对的集合。它存在于T3 系统中。收藏.专门命名空间。
有序字典类的属性:
- 每个元素都是存储在 DictionaryEntry 对象中的键/值对。
- 一个键不能为空,但一个值可以。
- OrderedDictionary 的元素不是按键排序的。
- 元素可以通过键或索引来访问。
构造器
| 构造器 | 描述 | | orderedddictionary() | 初始化有序字典类的新实例。 | | ordered dictionary(IEquality comparer) | 使用指定的比较器初始化 OrderedDictionary 类的新实例。 | | OrderedDictionary(Int32) | 使用指定的初始容量初始化 OrderedDictionary 类的新实例。 | | OrderedDictionary(Int32,iequalitcomparer) | 使用指定的初始容量和比较器初始化 OrderedDictionary 类的新实例。 | | OrderedDictionary(SerializationInfo,StreamingContext) | 使用指定的序列化信息和流上下文对象初始化可序列化的 OrderedDictionary 类的新实例。 |
示例:
// 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
性能
| 财产 | 描述 | | 计数 | 获取有序字典集合中包含的键/值对的数量。 | | 【isreadonly】 | 获取一个值,该值指示 OrderedDictionary 集合是否是只读的。 | | 项【国际 32】 | 获取或设置指定索引处的值。 | | 【物品】 | 获取或设置具有指定键的值。 | | 键 | 获取包含 OrderedDictionary 集合中的键的 ICollection 对象。 | | 价值观 | 获取一个 ICollection 对象,该对象包含 OrderedDictionary 集合中的值。 |
例 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
方法
| 方法 | 描述 | | 添加(对象,对象) | 将具有指定键和值的条目添加到具有最低可用索引的 OrderedDictionary 集合中。 | | 【ASR only() | 返回当前 OrderedDictionary 集合的只读副本。 | | 晴() | 从 OrderedDictionary 集合中移除所有元素。 | | 包含(对象) | 确定 OrderedDictionary 集合是否包含特定的键。 | | CopyTo(Array,Int32) | 将 OrderedDictionary 元素复制到指定索引处的一维数组对象。 | | 等于(对象) | 确定指定的对象是否等于当前对象。 | | 【get 分子() | 返回一个 IDictionaryEnumerator 对象,该对象遍历有序字典集合。 | | GetHashCode() | 用作默认哈希函数。 | | GetObjectData(SerializationInfo,StreamingContext) | 实现 ISerializable 接口并返回序列化 OrderedDictionary 集合所需的数据。 | | GetType() | 获取当前实例的类型。 | | 插入(Int32,Object,Object) | 使用指定索引处的指定键和值,向 OrderedDictionary 集合中插入新条目。 | | MemberWiseCrone() | 创建当前对象的浅拷贝。 | | on 序列化(对象) | 实现 ISerializable 接口,并在反序列化完成时由反序列化事件回调。 | | 移除(对象) | 从 OrderedDictionary 集合中移除具有指定键的条目。 | | 移除 At(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
参考:
版权属于:月萌API www.moonapi.com,转载请注明出处