C# 中的 StringDictionary 类?


StringDictionay 类实现了一个哈希表,其键和值都强类型化为字符串,而不是对象。

以下是 StringDictionary 类的属性:

序号属性及描述
1Count
获取 StringDictionary 中键值对的数量。
2IsSynchronized
获取一个值,该值指示对 StringDictionary 的访问是否同步(线程安全)。
3tem[String]
获取或设置与指定键关联的值。
4Keys
获取 StringDictionary 中键的集合。
5SyncRoot
获取一个对象,该对象可用于同步对 StringDictionary 的访问。
6Values
获取 StringDictionary 中值的集合。

以下是 StringDictionary 类的一些方法:

序号方法及描述
1Add(String, String)
将具有指定键和值的条目添加到 StringDictionary 中。
2Clear()
从 StringDictionary 中移除所有条目。
3ContainsKey(String)
确定 StringDictionary 是否包含特定的键。
4ContainsValue(String)
确定 StringDictionary 是否包含特定的值。
5CopyTo(Array, Int32)
将字符串字典值复制到指定索引处的一维数组实例中。
6Equals(Object)
确定指定对象是否等于当前对象。(从 Object 继承)

示例

现在让我们看一些示例:

要检查两个 StringDictionary 对象是否相等,代码如下:

实时演示

using System;
using System.Collections.Specialized;
public class Demo {
   public static void Main() {
      StringDictionary strDict1 = new StringDictionary();
      strDict1.Add("A", "John");
      strDict1.Add("B", "Andy");
      strDict1.Add("C", "Tim");
      strDict1.Add("D", "Ryan");
      strDict1.Add("E", "Kevin");
      strDict1.Add("F", "Katie");
      strDict1.Add("G", "Brad");
      StringDictionary strDict2 = new StringDictionary();
      strDict2.Add("A", "John");
      strDict2.Add("B", "Andy");
      strDict2.Add("C", "Tim");
      strDict2.Add("D", "Ryan");
      strDict2.Add("E", "Kevin");
      strDict2.Add("F", "Katie");
      strDict2.Add("G", "Brad");
      StringDictionary strDict3 = new StringDictionary();
      strDict3 = strDict2;
      Console.WriteLine("Is Dictionary2 equal to Dictionary3? = "+strDict2.Equals(strDict3));
      Console.WriteLine("Is Dictionary1 equal to Dictionary3? = "+strDict1.Equals(strDict3));
   }
}

输出

这将产生以下输出:

Is Dictionary2 equal to Dictionary3? = True
Is Dictionary1 equal to Dictionary3? = False

示例

要检查 StringDictionary 是否同步,代码如下:

using System;
using System.Collections;
using System.Collections.Specialized;
public class Demo {
   public static void Main() {
      StringDictionary strDict1 = new StringDictionary();
      strDict1.Add("A", "John");
      strDict1.Add("B", "Andy");
      strDict1.Add("C", "Tim");
      strDict1.Add("D", "Ryan");
      strDict1.Add("E", "Kevin");
      strDict1.Add("F", "Katie");
      strDict1.Add("G", "Brad");
      Console.WriteLine("StringDictionary1 elements...");
      foreach(DictionaryEntry de in strDict1) {
         Console.WriteLine(de.Key + " " + de.Value);
      }
      StringDictionary strDict2 = new StringDictionary();
      strDict2.Add("1", "A");
      strDict2.Add("2", "B");
      strDict2.Add("3", "C");
      strDict2.Add("4", "D");
      strDict2.Add("5", "E");
      Console.WriteLine("
StringDictionary2 key-value pairs...");       IEnumerator demoEnum = strDict2.GetEnumerator();       DictionaryEntry d;       while (demoEnum.MoveNext()) {          d = (DictionaryEntry)demoEnum.Current;          Console.WriteLine("Key = " + d.Key + ", Value = " + d.Value);       }       Console.WriteLine("Is the StringDictionary2 synchronized? = "+strDict2.IsSynchronized);    } }

输出

这将产生以下输出:

StringDictionary1 elements...
a John
b Andy
c Tim
d Ryan
e Kevin
f Katie
g Brad
StringDictionary2 key-value pairs...
Key = 1, Value = A
Key = 2, Value = B
Key = 3, Value = C
Key = 4, Value = D
Key = 5, Value = E
Is the StringDictionary2 synchronized? = False

更新于: 2019-12-16

148 次浏览

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告