ListDictionary是一个专门的集合。它位于 System.Collections.Specialized 命名空间下。该类型表示非通用字典类型。它是用链表实现的。此类是小型列表的字典集合 (System.Collections.IDictionary) 的简单实现。它实现了 IDictionary 方法和属性,建议与少量元素(少于 10 个)一起使用。
ListDictionary 类的特征:
- ListDictionary 是使用单链表的 IDictionary 的简单实现。
- 如果元素数量为 10 或更少,则它比 Hashtable 更小且更快。
- 如果性能对于大量元素很重要,则不应使用ListDictionary。
- ListDictionary 中的项目没有任何保证的顺序。
- 钥匙不能空值,但一个值可以。
Constructors
构造函数 | 说明 |
---|---|
ListDictionary() | 使用默认比较器创建一个空的ListDictionary。 |
ListDictionary(IComparer) | 使用指定的比较器创建一个空的ListDictionary。 |
例子:
// C# code to create a ListDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
class GFG {
// Driver code
public static void Main()
{
// Creating a ListDictionary named myDict
ListDictionary myDict = new ListDictionary();
// Adding key/value pairs in myDict
myDict.Add("Australia", "Canberra");
myDict.Add("Belgium", "Brussels");
myDict.Add("Netherlands", "Amsterdam");
myDict.Add("China", "Beijing");
myDict.Add("Russia", "Moscow");
myDict.Add("India", "New Delhi");
// To get count of key/value pairs in myDict
Console.WriteLine("Total key/value pairs in myDict are : " + myDict.Count);
// Displaying the key/value pairs in myDict
Console.WriteLine("The key/value pairs in myDict are : ");
foreach(DictionaryEntry de in myDict)
{
Console.WriteLine(de.Key + " " + de.Value);
}
}
}
输出:
Total key/value pairs in myDict are : 6 The key/value pairs in myDict are : Australia Canberra Belgium Brussels Netherlands Amsterdam China Beijing Russia Moscow India New Delhi
Properties
属性 | 说明 |
---|---|
Count | 获取 ListDictionary 中包含的键/值对的数量。 |
IsFixedSize | 获取一个值,该值指示 ListDictionary 是否具有固定大小。 |
IsReadOnly | 获取一个值,该值指示ListDictionary是否为只读。 |
IsSynchronized | 获取一个值,该值指示 ListDictionary 是否已同步(线程安全)。 |
项目[对象] | 获取或设置与指定键关联的值。 |
Keys | 获取包含 ListDictionary 中的键的 ICollection。 |
SyncRoot | 获取可用于同步对 ListDictionary 的访问的对象。 |
Values | 获取包含 ListDictionary 中的值的 ICollection。 |
示例 1:
// C# code to get the number
// of key/value pairs contained
// in the ListDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
class GFG {
// Driver code
public static void Main()
{
// Creating a ListDictionary named myDict
ListDictionary myDict = new ListDictionary();
// Adding key/value pairs in myDict
myDict.Add("Australia", "Canberra");
myDict.Add("Belgium", "Brussels");
myDict.Add("Netherlands", "Amsterdam");
myDict.Add("China", "Beijing");
myDict.Add("Russia", "Moscow");
myDict.Add("India", "New Delhi");
// Displaying the number of key/value
// pairs contained in the ListDictionary
Console.WriteLine(myDict.Count);
}
}
输出:
6
示例 2:
// C# code to check if ListDictionary is read-only
using System;
using System.Collections;
using System.Collections.Specialized;
class GFG {
// Driver code
public static void Main()
{
// Creating a ListDictionary named myDict
ListDictionary myDict = new ListDictionary();
myDict.Add("Australia", "Canberra");
myDict.Add("Belgium", "Brussels");
myDict.Add("Netherlands", "Amsterdam");
myDict.Add("China", "Beijing");
myDict.Add("Russia", "Moscow");
myDict.Add("India", "New Delhi");
// Checking if ListDictionary is read-only
Console.WriteLine(myDict.IsReadOnly);
}
}
输出:
False
Methods
方法 | 说明 |
---|---|
Add(Object, Object) | 将具有指定键和值的条目添加到 ListDictionary 中。 |
Clear() | 从 ListDictionary 中删除所有条目。 |
Contains(Object) | 确定ListDictionary是否包含特定 key 。 |
复制到(数组,Int32) | 将 ListDictionary 条目复制到指定索引处的一维 Array 实例。 |
Equals(Object) | 确定指定对象是否等于当前对象。 |
GetEnumerator() | 返回一个迭代 ListDictionary 的 IDictionaryEnumerator。 |
GetHashCode() | 用作默认的哈希函数。 |
GetType() | 获取当前实例的类型。 |
MemberwiseClone() | 创建当前对象的浅拷贝。 |
Remove(Object) | 从 ListDictionary 中删除具有指定键的条目。 |
ToString() | 返回表示当前对象的字符串。 |
示例 1:
// C# code to add an entry with
// the specified key and value
// into the ListDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
class GFG {
// Driver code
public static void Main()
{
// Creating a ListDictionary named myDict
ListDictionary myDict = new ListDictionary();
myDict.Add("Australia", "Canberra");
myDict.Add("Belgium", "Brussels");
myDict.Add("Netherlands", "Amsterdam");
myDict.Add("China", "Beijing");
myDict.Add("Russia", "Moscow");
myDict.Add("India", "New Delhi");
// Displaying the total number of elements in myDict
Console.WriteLine("Total number of elements in myDict are : "
+ myDict.Count);
// Displaying the elements in ListDictionary myDict
foreach(DictionaryEntry de in myDict)
{
Console.WriteLine(de.Key + " " + de.Value);
}
}
}
输出:
Total number of elements in myDict are : 6 Australia Canberra Belgium Brussels Netherlands Amsterdam China Beijing Russia Moscow India New Delhi
示例 2:
// C# code to remove all entries
// from the ListDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
class GFG {
// Driver code
public static void Main()
{
// Creating a ListDictionary named myDict
ListDictionary myDict = new ListDictionary();
// Adding key/value pairs in myDict
myDict.Add("I", "first");
myDict.Add("II", "second");
myDict.Add("III", "third");
myDict.Add("IV", "fourth");
myDict.Add("V", "fifth");
// To get count of key/value pairs in myDict
Console.WriteLine("Total key/value pairs in myDict are : "
+ myDict.Count);
// Displaying the key/value pairs in myDict
Console.WriteLine("The key/value pairs in myDict are : ");
foreach(DictionaryEntry de in myDict)
{
Console.WriteLine(de.Key + " " + de.Value);
}
// Removing all entries from the ListDictionary
myDict.Clear();
// To get count of key/value pairs in myDict
Console.WriteLine("Total key/value pairs in myDict are : "
+ myDict.Count);
// Displaying the key/value pairs in myDict
Console.WriteLine("The key/value pairs in myDict are : ");
foreach(DictionaryEntry de in myDict)
{
Console.WriteLine(de.Key + " " + de.Value);
}
}
}
输出:
Total key/value pairs in myDict are : 5 The key/value pairs in myDict are : I first II second III third IV fourth V fifth Total key/value pairs in myDict are : 0 The key/value pairs in myDict are :
参考:
相关用法
- C# List.TrimExcess用法及代码示例
- C# List.FindIndex()用法及代码示例
- C# List BinarySearch()用法及代码示例
- C# List FindLastIndex()方法用法及代码示例
- C# List FindLastIndex()函数用法及代码示例
- C# ListBox用法及代码示例
- C# List用法及代码示例
- C# List和Set的区别用法及代码示例
- C# Linq Aggregate()用法及代码示例
- C# Linq Concat()用法及代码示例
- C# Linq Distinct()用法及代码示例
- C# Linq Intersect()用法及代码示例
- C# Linq Reverse()用法及代码示例
- C# Linq ThenBy()用法及代码示例
- C# Linq ThenByDescending()用法及代码示例
- C# Linq Union()用法及代码示例
- C# LinkedList用法及代码示例
- C# String Clone()用法及代码示例
- C# String Compare()用法及代码示例
- C# String CompareOrdinal()用法及代码示例
- C# String CompareTo()用法及代码示例
- C# String Concat()用法及代码示例
- C# String Contains()用法及代码示例
- C# String Copy()用法及代码示例
- C# String CopyTo()用法及代码示例
注:本文由纯净天空筛选整理自Sahil_Bansall大神的英文原创作品 C# | ListDictionary Class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。