C# 泛型字典 Dictionary的使用详解
C#中的泛型字典Dictionary,是将键和值进行映射的一种数据结构。Dictionary在C#编程中非常常用,因为它支持高效的键值查找,非常适用于存储一组数据,并且能够快速根据键名找到对应的值。
基本语法
Dictionary属于System.Collections.Generic命名空间,所以要使用Dictionary,需要在程序的开头添加以下代码行:
using System.Collections.Generic;
定义Dictionary的基本语法如下:
Dictionary<TKey, TValue> dictionary = new Dictionary<TKey, TValue>();
其中TKey表示键的数据类型,TValue表示值的数据类型。
添加元素
使用Add()方法向Dictionary中添加元素,Add()方法的参数分别为键和值。
Dictionary<string, int> dictionary = new Dictionary<string, int>();
dictionary.Add("apple", 1);
dictionary.Add("banana", 2);
dictionary.Add("orange", 3);
访问元素
可以使用Dictionary的索引器来访问元素,索引器参数为键。
int value = dictionary["apple"];
如果键不存在,会抛出KeyNotFoundException异常。
还可以使用TryGetValue()方法来访问元素,TryGetValue()方法的第一个参数为键,第二个参数为键对应的值。如果键不存在,方法会返回false。
int value;
if (dictionary.TryGetValue("apple", out value))
{
Console.WriteLine(value);
}
else
{
Console.WriteLine("key not found");
}
遍历元素
使用foreach语句遍历Dictionary中的元素,代码示例如下:
foreach (KeyValuePair<string, int> pair in dictionary)
{
Console.WriteLine("{0}:{1}", pair.Key, pair.Value);
}
示例1:统计单词出现次数
以下示例演示如何使用Dictionary来统计一个字符串中单词出现的次数:
string str = "apple banana apple orange orange banana apple";
string[] words = str.Split(' ');
Dictionary<string, int> dictionary = new Dictionary<string, int>();
foreach (string word in words)
{
if (dictionary.ContainsKey(word))
{
dictionary[word]++;
}
else
{
dictionary.Add(word, 1);
}
}
foreach (KeyValuePair<string, int> pair in dictionary)
{
Console.WriteLine("{0}:{1}", pair.Key, pair.Value);
}
示例2:统计学生成绩
以下示例演示如何使用Dictionary来统计学生成绩:
Dictionary<string, int> scores = new Dictionary<string, int>();
scores.Add("Tom", 90);
scores.Add("Jerry", 80);
scores.Add("Alice", 70);
scores.Add("Bob", 60);
int totalScore = 0;
foreach (KeyValuePair<string, int> pair in scores)
{
totalScore += pair.Value;
}
double averageScore = (double)totalScore / scores.Count;
Console.WriteLine("平均分:{0}", averageScore);
以上就是C#泛型字典Dictionary的使用详解及示例。更多有关C#的进阶内容,可以参考其他教程。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 泛型字典 Dictionary的使用详解 - Python技术站