C# 泛型字典 Dictionary的使用详解
什么是C#泛型字典
在C#中,泛型字典Dictionary是一种可用于存储键值对的数据结构。它是一个强类型的数据结构,其中每个键和值都具有指定的数据类型。
如何使用C#泛型字典
创建一个字典
在C#中创建一个字典可以使用Dictionary
Dictionary<string, int> dictionary = new Dictionary<string, int>();
向字典中添加键值对
可以使用Add()方法向字典中添加键值对。以下是将键“apple”和值“3”添加到上述示例字典的方法:
dictionary.Add("apple", 3);
从字典中删除键值对
可以使用Remove()方法从字典中删除键值对。以下是从上述示例字典中删除键“apple”的方法:
dictionary.Remove("apple");
获取字典中的值
可以使用索引符[]或TryGetValue()方法获取字典中的值。以下是使用键“apple”获取值的方法:
int value = dictionary["apple"];
遍历字典
可以使用foreach循环遍历字典。以下是遍历上述示例字典的方法:
foreach(KeyValuePair<string, int> pair in dictionary)
{
string key = pair.Key;
int value = pair.Value;
//对键值对进行操作
}
获取字典的键或值
可以使用Keys属性获取字典的键,使用Values属性获取字典的值。以下是获取上述示例字典的所有键的方法:
IEnumerable<string> keys = dictionary.Keys;
判断字典中是否包含某个键或值
可以使用ContainsKey()方法判断字典中是否包含某个键,使用ContainsValue()方法判断字典中是否包含某个值。以下是使用ContainsKey()方法判断上述示例字典中是否包含键“apple”的方法:
bool containsKey = dictionary.ContainsKey("apple");
示例1:在内存中存储用户信息
//创建一个存储用户信息的字典
Dictionary<int, string> userDictionary = new Dictionary<int, string>();
//添加用户信息
userDictionary.Add(1001, "张三");
userDictionary.Add(1002, "李四");
userDictionary.Add(1003, "王五");
//遍历用户信息字典
foreach(KeyValuePair<int, string> pair in userDictionary)
{
Console.WriteLine("用户编号:{0},用户名:{1}", pair.Key, pair.Value);
}
该示例创建了一个存储用户信息的字典,然后向字典中添加了三个用户信息。最后,使用foreach循环遍历字典,输出字典中所有用户的信息。
示例2:统计字符串中每个字符的出现次数
//待统计的字符串
string text = "hello world";
//创建一个存储字符出现次数的字典
Dictionary<char, int> charDictionary = new Dictionary<char, int>();
//遍历字符串中的每个字符
foreach(char c in text)
{
if(charDictionary.ContainsKey(c))
{
//如果字典中已经包含该字符,则将该字符的出现次数加1
charDictionary[c]++;
}
else
{
//如果字典中不包含该字符,则将该字符加入字典,并将出现次数初始化为1
charDictionary.Add(c, 1);
}
}
//遍历字符出现次数字典
foreach(KeyValuePair<char, int> pair in charDictionary)
{
Console.WriteLine("字符'{0}'出现了{1}次", pair.Key, pair.Value);
}
该示例统计了字符串“hello world”中每个字符的出现次数。首先创建了一个存储字符出现次数的字典,然后遍历字符串中的每个字符,将每个字符和其出现次数存储到字典中。最后使用foreach循环遍历字典,输出每个字符出现的次数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# 泛型字典 Dictionary的使用详解 - Python技术站