在System.Collections.Generic命名空间中,与ArrayList相对应的泛型集合石List<T>。与HasTable相对应的泛型集合是Dictionary<K,V>.Dictionary<K,V>是通过健值来保存元素的,并具有泛型的全部特征。
Dictionary集合是一组键(key)到一组值(value)的映射,每一个添加项都是由一个值及其相关联的键组成的。Key和Value可以为任何类型,键必须唯一且不能为null(空引用),值若为引用类型,可以为空值。通过键可以访问值。
这里给出一个使用C#泛型字典实现统计一个字符串中每个字母出现的次数的例子。
public static void LetterCount(string s)
{
Dictionary<char, int> dicLetter = new Dictionary<char, int>();
for (int i = 0; i < s.Length; i++)
{
if (dicLetter.ContainsKey(s[i]))
{
dicLetter[s[i]]++;
}
else
{
dicLetter[s[i]] = 1;
}
}
foreach (KeyValuePair<char,int> kvp in dicLetter)
{
Console.WriteLine("{0}出现{1}次",kvp.Key,kvp.Value);
}
}
}
控制台调用代码: LetterTest.LetterCount("HelloWorld");
结果: