StringDictionary是一个专门的集合。此类位于 System.Collections.Specialized 命名空间下。它只允许字符串键和字符串值。它存在性能问题。它实现了一个哈希表,其中键和值强类型化为字符串而不是对象。
特征:
- 钥匙不能空值,但一个值可以。
- 键以不区分大小写的方式处理,即在与字符串字典一起使用之前将其转换为小写。
- 构造函数StringDictionary()初始化 StringDictionary 类的新实例。
Constructors
构造函数 | 说明 |
---|---|
StringDictionary() | 初始化 StringDictionary 类的新实例。 |
例子:
// C# code to create a StringDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
class GFG {
// Driver code
public static void Main()
{
// Creating a StringDictionary named myDict
StringDictionary myDict = new StringDictionary();
// Adding key and value into the StringDictionary
myDict.Add("A", "Apple");
myDict.Add("B", "Banana");
myDict.Add("C", "Cat");
myDict.Add("D", "Dog");
myDict.Add("E", "Elephant");
// Displaying the keys and values in StringDictionary
foreach(DictionaryEntry dic in myDict)
{
Console.WriteLine(dic.Key + " " + dic.Value);
}
}
}
输出:
d Dog b Banana c Cat e Elephant a Apple
Properties
属性 | 说明 |
---|---|
Count | 获取 StringDictionary 中键/值对的数量。 |
IsSynchronized | 获取一个值,该值指示对 StringDictionary 的访问是否同步(线程安全)。 |
项目[字符串] | 获取或设置与指定键关联的值。 |
Keys | 获取 StringDictionary 中的键的集合。 |
SyncRoot | 获取可用于同步对 StringDictionary 的访问的对象。 |
Values | 获取 StringDictionary 中的值的集合。 |
例子:
// C# code illustrate the Properties of
// StringDictionary class
using System;
using System.Collections;
using System.Collections.Specialized;
class GFG {
// Driver code
public static void Main()
{
// Creating a StringDictionary named myDict
StringDictionary myDict = new StringDictionary();
// Adding key and value into the StringDictionary
myDict.Add("3", "prime & odd");
myDict.Add("2", "prime & even");
myDict.Add("4", "non-prime & even");
myDict.Add("9", "non-prime & odd");
// -------- Values Property --------
// Getting a collection of values
// in the StringDictionary
foreach(string val in myDict.Values)
{
Console.WriteLine(val);
}
// -------- IsSynchronized Property --------
// Checking if StringDictionary
// is synchronized (thread safe)
Console.WriteLine(myDict.IsSynchronized);
}
}
输出:
prime & even prime & odd non-prime & odd non-prime & even False
Methods
方法 | 说明 |
---|---|
Add(String, String) | 将具有指定键和值的条目添加到 StringDictionary 中。 |
Clear() | 从 StringDictionary 中删除所有条目。 |
ContainsKey(String) | 确定 StringDictionary 是否包含特定 key 。 |
ContainsValue(String) | 确定 StringDictionary 是否包含特定值。 |
复制到(数组,Int32) | 将字符串字典值复制到指定索引处的一维 Array 实例。 |
Equals(Object) | 确定指定对象是否等于当前对象。 |
GetEnumerator() | 返回一个遍历字符串字典的枚举器。 |
GetHashCode() | 用作默认的哈希函数。 |
GetType() | 获取当前实例的类型。 |
MemberwiseClone() | 创建当前对象的浅拷贝。 |
Remove(String) | 从字符串字典中删除具有指定键的条目。 |
ToString() | 返回表示当前对象的字符串。 |
示例 1:
// C# code to remove the entry
// with the specified key from
// the StringDictionary
using System;
using System.Collections;
using System.Collections.Specialized;
class GFG {
// Driver code
public static void Main()
{
// Creating a StringDictionary named myDict
StringDictionary myDict = new StringDictionary();
// Adding key and value into the StringDictionary
myDict.Add("A", "Apple");
myDict.Add("B", "Banana");
myDict.Add("C", "Cat");
myDict.Add("D", "Dog");
myDict.Add("E", "Elephant");
myDict.Add("F", "Fish");
// Displaying the keys and values in StringDictionary
Console.WriteLine("The number of key/value pairs are : " + myDict.Count);
// Removing the entry with the specified
// key from the StringDictionary
myDict.Remove("D");
// Displaying the keys and values in StringDictionary
Console.WriteLine("The number of key/value pairs are : " + myDict.Count);
}
}
输出:
The number of key/value pairs are : 6 The number of key/value pairs are : 5
示例 2:
// C# code to copy StringDictionary
// to Array at the specified index
using System;
using System.Collections;
using System.Collections.Specialized;
class GFG {
// Driver code
public static void Main()
{
// Creating a StringDictionary named myDict
StringDictionary myDict = new StringDictionary();
// Adding key and value into the StringDictionary
myDict.Add("A", "Apple");
myDict.Add("B", "Banana");
myDict.Add("C", "Cat");
myDict.Add("D", "Dog");
myDict.Add("E", "Elephant");
// Creating an Array named myArr
DictionaryEntry[] myArr = { new DictionaryEntry(),
new DictionaryEntry(),
new DictionaryEntry(),
new DictionaryEntry(),
new DictionaryEntry() };
// Copying StringDictionary to
// Array at the specified index
myDict.CopyTo(myArr, 0);
// Displaying key and value pairs in Array myArr
for (int i = 0; i < myArr.Length; i++) {
Console.WriteLine(myArr[i].Key + " " + myArr[i].Value);
}
}
}
输出:
d Dog b Banana c Cat e Elephant a Apple
参考:
相关用法
- 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()用法及代码示例
- C# String LastIndexOfAny()用法及代码示例
- C# String Normalize()用法及代码示例
- C# String PadLeft()用法及代码示例
- C# String PadRight()用法及代码示例
- C# String Remove()用法及代码示例
注:本文由纯净天空筛选整理自Sahil_Bansall大神的英文原创作品 C# | StringDictionary Class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。