下面是“C#中Dictionary类使用实例”的完整攻略,包含以下几个方面的内容:
- 什么是Dictionary类
- 如何创建一个Dictionary对象
- 如何添加和访问字典中的元素
- 如何遍历字典
- 示例说明
1. 什么是Dictionary类
Dictionary类是C#中用于表示键值对的泛型集合类。每个键都与一个值相关联,因此可以通过键访问值。
2. 如何创建一个Dictionary对象
可以通过以下语法创建一个Dictionary对象:
Dictionary<TKey, TValue> dictionary = new Dictionary<TKey, TValue>();
其中,TKey表示键的类型,TValue表示值的类型。
例如,创建一个存储字符串类型键和整数类型值的Dictionary对象可以这样写:
Dictionary<string, int> dict = new Dictionary<string, int>();
3. 如何添加和访问字典中的元素
使用Add方法向字典中添加元素:
dict.Add("apple", 10);
也可以使用索引器添加或访问元素:
dict["orange"] = 20;
int value = dict["apple"];
注意:通过索引器访问一个不存在的键会抛出异常。
如果不确定字典中是否包含一个键,可以使用TryGetValue方法:
int value;
if (dict.TryGetValue("banana", out value))
{
Console.WriteLine($"The value of banana is {value}");
}
else
{
Console.WriteLine("banana is not in the dictionary.");
}
4. 如何遍历字典
有以下三种方法可以遍历一个Dictionary对象:
4.1 遍历键值对
使用foreach循环遍历键值对:
foreach (KeyValuePair<string, int> kvp in dict)
{
Console.WriteLine($"Key = {kvp.Key}, Value = {kvp.Value}");
}
也可以使用for循环根据键访问值:
foreach (string key in dict.Keys)
{
Console.WriteLine($"Key = {key}, Value = {dict[key]}");
}
4.2 遍历键
使用foreach循环遍历键:
foreach (string key in dict.Keys)
{
Console.WriteLine($"Key = {key}");
}
4.3 遍历值
使用foreach循环遍历值:
foreach (int value in dict.Values)
{
Console.WriteLine($"Value = {value}");
}
5. 示例说明
下面是使用Dictionary类的两个示例:
5.1 统计字符串中每个字符出现的次数
string str = "hello world";
Dictionary<char, int> dict = new Dictionary<char, int>();
foreach (char c in str)
{
if (dict.ContainsKey(c))
{
dict[c]++;
}
else
{
dict.Add(c, 1);
}
}
foreach (KeyValuePair<char, int> kvp in dict)
{
Console.WriteLine($"{kvp.Key}: {kvp.Value}");
}
输出:
h: 1
e: 1
l: 3
o: 2
: 1
w: 1
r: 1
d: 1
5.2 计算一个整数数组中出现次数最多的元素
int[] array = { 1, 2, 3, 4, 5, 2, 2, 3, 3, 3 };
Dictionary<int, int> dict = new Dictionary<int, int>();
foreach (int i in array)
{
if (dict.ContainsKey(i))
{
dict[i]++;
}
else
{
dict.Add(i, 1);
}
}
int maxCount = 0;
int maxNum = 0;
foreach (KeyValuePair<int, int> kvp in dict)
{
if (kvp.Value > maxCount)
{
maxCount = kvp.Value;
maxNum = kvp.Key;
}
}
Console.WriteLine($"The most frequent number is {maxNum}, which appears {maxCount} times.");
输出:
The most frequent number is 3, which appears 4 times.
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中Dictionary类使用实例 - Python技术站