📅  最后修改于: 2023-12-03 15:14:32.642000             🧑  作者: Mango
C#字典是一种称为“键/值”集合的数据结构,其中每个元素都由一个唯一的键和一个值组成。键是用于访问和检索值的标识符,每个键必须是唯一的。值可以是任何可以存储在变量中的对象,可以是任何引用类型或值类型。C#字典可以用来存储、检索和操作数据,特别适用于大数据量、快速查找和数据分类等任务。
使用Dictionary<TKey, TValue>
类来创建字典。其中,TKey表示键的类型,TValue表示值的类型。可以使用多种方式添加元素到字典中,如Add()方法、索引器、集合初始化和键/值对集合初始化。下面是几种常见的创建字典的方式。
Dictionary<int, string> dict = new Dictionary<int, string>();
dict.Add(1, "John");
dict.Add(2, "Mary");
dict.Add(3, "Bob");
Dictionary<int, string> dict = new Dictionary<int, string>();
dict[1] = "John";
dict[2] = "Mary";
dict[3] = "Bob";
Dictionary<int, string> dict = new Dictionary<int, string>()
{
{ 1, "John" },
{ 2, "Mary" },
{ 3, "Bob" }
};
var dict = new Dictionary<int, string>()
{
[1] = "John",
[2] = "Mary",
[3] = "Bob"
};
使用键作为索引器来访问字典中的元素,如果键不存在会抛出KeyNotFoundException异常。也可以使用TryGetValue()方法来安全访问字典中的元素。
// 使用索引器
Console.WriteLine(dict[1]); // 输出 "John"
Console.WriteLine(dict[4]); // 抛出异常
// 使用TryGetValue()方法
if (dict.TryGetValue(1, out string name))
{
Console.WriteLine(name); // 输出 "John"
}
if (dict.TryGetValue(4, out string _))
{
// 执行不到这里
}
可以使用foreach循环遍历字典中的键/值对集合。
foreach (var pair in dict)
{
Console.WriteLine($"{pair.Key}: {pair.Value}");
}
也可以遍历字典中的键或值的集合。
foreach (int key in dict.Keys)
{
Console.WriteLine(key);
}
foreach (string value in dict.Values)
{
Console.WriteLine(value);
}
可以使用索引器或Add()方法来修改字典中的元素。
// 使用索引器
dict[1] = "Mike";
// 使用Add()方法
dict.Add(4, "Lily");
可以使用Remove()方法来删除字典中的元素。
dict.Remove(1);
可以使用ContainsKey()或ContainsValue()方法来判断字典是否包含某个键或值。
if (dict.ContainsKey(1))
{
Console.WriteLine("字典中包含键1");
}
if (dict.ContainsValue("John"))
{
Console.WriteLine("字典中包含值John");
}
C#字典提供了一种灵活、高效的数据结构,可以用于存储、检索和操作数据。掌握字典的基本操作可以极大地提高编程效率和代码质量。