📜  C#6.0 字典初始化器(1)

📅  最后修改于: 2023-12-03 15:14:27.366000             🧑  作者: Mango

C#6.0 字典初始化器

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 的字典初始化器使得初始化字典变得更为简单高效,同时也支持了表达式和枚举类型,这使得初始化字典时得到更多的灵活性和便利性。