当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C# StringDictionary用法及代码示例


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

参考:



相关用法


注:本文由纯净天空筛选整理自Sahil_Bansall大神的英文原创作品 C# | StringDictionary Class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。