如何使用{}将值加载到字典中

本文关键字:加载 字典 何使用 | 更新日期: 2023-09-27 18:10:45

是否可以使用{}将值加载到Dictionary中?

失败

static Dictionary<byte, byte> dict = new Dictionary<byte, byte>() { new KeyValuePair<byte, byte>(1, 1) };

这不会失败,所以我怀疑在{}中加载有语法

static Dictionary<byte, byte> dic1252expand = new Dictionary<byte, byte>() { };

这是适用于的示例语法

byte[] bytes = new byte[] { 1, 2, 3 }; 
KeyValuePair<byte, byte> kvp = new KeyValuePair<byte, byte>(1, 1);

如何使用{}将值加载到字典中

如果你给某人一条鱼,他们就有一条鱼;如果你教他们如何捕鱼,你就不需要给他们鱼。张贴的所有答案都是正确的,但没有一个告诉你如何自己找出答案

C#中的集合初始值设定项语法是一种"语法糖";这只是写一些无聊代码的一种更愉快的方式。当你写:

C c = new C() { p, q, { r, s }, {t, u, v} };

这和你写的一样:

C c;
C temporary = new C();
temporary.Add(p);
temporary.Add(q);
temporary.Add(r, s);
temporary.Add(t, u, v);
c = temporary;

现在应该可以清楚地了解如何在初始值设定项子句中放入什么:查看类型,并查看各种Add方法作为参数的内容。在您的情况下,字典的Add方法接受一个键和一个值,因此初始值设定项应该是{ { k1, v1 }, { k2, v2 } , ... }

有道理吗?

这是有效的:

Dictionary<byte, byte> dict = new Dictionary<byte, byte>() { { 1, 1 }, { 2, 2 } };
Dictionary<string, string> d = new Dictionary<string, string>{{"s", "s"}};
var dict = new Dictionary<int, int>()
    {
        { 1, 1 },
        { 2, 1 },
        { 3, 2 }
    };

这将设置一个具有三个键值对的字典。

Dictionary<byte, byte> d = new Dictionary<byte, byte>()
                       { 
                          { 1, 2 }, 
                          { 3, 4 } 
                       };