Mah*_*vcs 25 c# initialization c#-3.0
我正在寻找一种方法将ViewDataDictionary传递给ASP.NET MVC中的部分视图,我来到这个语法:
new ViewDataDictionary { { "Name", "Value" } }
Run Code Online (Sandbox Code Playgroud)
我对这里的初始化语法有点困惑.任何人都可以向我解释一下吗?
Oli*_*ver 49
ViewDataDictionary实施IDictionary<string, object>.
IDictionary<string, object>本质上是一个集合KeyValuePair<string, object>.
您的ViewDataDictionary初始化程序(外部花括号)包含另一组花括号,表示KeyValuePair<string, object>初始化程序.
您可以通过逗号分隔Add初始值设定项添加多个项目:
var data = new ViewDataDictionary
{
{ "Name", "Value" },
{ "Name2", "Value2" }
};
Run Code Online (Sandbox Code Playgroud)
与...一样:
var data = new ViewDataDictionary
{
new KeyValuePair<string, object>("Name", "Value"),
new KeyValuePair<string, object>("Name2", "Value2")
};
Run Code Online (Sandbox Code Playgroud)
本质上,内部花括号是初始化KeyValuePair<string, object>对象的很好的语法.