📅  最后修改于: 2023-12-03 15:14:27.366000             🧑  作者: Mango
C#6.0 中引入了字典初始化器,它使得初始化字典变得更为简单和直接。字典是键值对的集合,每个键必须是唯一的,而值则可以重复。
使用字典初始化器,可以在声明字典的同时为其添加键值对:
var dict = new Dictionary<string, int>
{
["item1"] = 1,
["item2"] = 2,
["item3"] = 3
};
上述代码声明了一个包含 3 个元素的字典,键分别为 "item1"、"item2" 和 "item3",对应的值分别为 1、2 和 3。
除了常规的键值对,字典初始化器还支持使用表达式(Expression),这使得初始化字典时变得更为灵活:
var dict = new Dictionary<int, string>
{
[1] = "apple",
[2] = "banana",
[3] = "orange",
[4] = GetRandomFruit()
};
其中,[4] 为表达式,在运行时根据 GetRandomFruit() 方法的返回值来设定键为 4 的值。
如果字典的键是枚举类型,我们可以使用枚举内的元素来声明键值对:
enum Fruit
{
Apple,
Banana,
Orange
}
var dict = new Dictionary<Fruit, int>
{
[Fruit.Apple] = 1,
[Fruit.Banana] = 2,
[Fruit.Orange] = 3
};
这里我们声明了一个键为枚举类型 Fruit 的字典,元素为对应的值 1、2 和 3。
C#6.0 的字典初始化器使得初始化字典变得更为简单高效,同时也支持了表达式和枚举类型,这使得初始化字典时得到更多的灵活性和便利性。