如何在实例化时将值插入到 C # Dictionary 中?

有没有人知道在创建 C # 字典时,是否有一种方法可以将值插入到 C # 字典中?我可以,但我不想这么做 如果有更有效的方法,比如:

Dictionary<int, string>(){(0, "string"),(1,"string2"),(2,"string3")};
83887 次浏览

这里有一整页教你怎么做:

Http://msdn.microsoft.com/en-us/library/bb531208.aspx

例如:

在下面的代码示例中,Dictionary<TKey, TValue>是 用 StudentName类型的实例初始化:

var students = new Dictionary<int, StudentName>()
{
{ 111, new StudentName {FirstName="Sachin", LastName="Karnik", ID=211}},
{ 112, new StudentName {FirstName="Dina", LastName="Salimzianova", ID=317}},
{ 113, new StudentName {FirstName="Andy", LastName="Ruth", ID=198}}
};
Dictionary<int, string> dictionary = new Dictionary<int, string> {
{ 0, "string" },
{ 1, "string2" },
{ 2, "string3" } };

您可以实例化一个 dictionary 并像下面这样向其中添加条目:

var dictionary = new Dictionary<int, string>
{
{0, "string"},
{1, "string2"},
{2, "string3"}
};

你差点就成功了:

var dict = new Dictionary<int, string>()
{
{0, "string"},
{1, "string2"},
{2, "string3"}
};

还可以使用 Lambda 表达式从任何其他 IEnumable 对象插入任何键值对。键和值可以是您想要的任何类型。

Dictionary<int, string> newDictionary =
SomeList.ToDictionary(k => k.ID, v => v.Name);

因为在.NET 中到处都使用 IEnumable 对象,所以我发现这样简单得多

希望这有帮助! ! !

泰德。

希望一切顺利。

Dictionary < string,double > D = new Dictionary < string,double > () ; 添加(“ String”,17.00) ;

正如您所知道的,从 C # 6开始,您现在可以按如下方式初始化它

var students = new Dictionary<int, StudentName>()
{
[111] = new StudentName {FirstName="Sachin", LastName="Karnik", ID=211},
[112] = new StudentName {FirstName="Dina", LastName="Salimzianova", ID=317},
[113] = new StudentName {FirstName="Andy", LastName="Ruth", ID=198}
};

干净多了:)

一般不建议这样做,但在不确定的危机时期,你可以利用这一点

Dictionary<string, object> jsonMock = new Dictionary<string, object>() { { "object a", objA }, { "object b", objB } };


// example of unserializing
ClassForObjectA anotherObjA = null;
if(jsonMock.Contains("object a")) {
anotherObjA = (ClassForObjA)jsonMock["object a"];
}