初始化程序语法:new ViewDataDictionary {{“名称”,“值” }} [英] Initializer syntax: new ViewDataDictionary { { "Name", "Value" } }
问题描述
我正在寻找一种将ViewDataDictionary传递到ASP.NET MVC中的部分视图的方法,这种语法是我想到的:
I was searching for a way to pass ViewDataDictionary to a partial view in ASP.NET MVC that I came to this syntax:
new ViewDataDictionary { { "Name", "Value" } }
我有点困惑关于初始化语法。有人可以向我解释吗?
I'm a bit confused about the initializer syntax here. can anyone explain it to me?
推荐答案
ViewDataDictionary
实现了 IDictionary<字符串,对象>
。
IDictionary<字符串,对象>
本质上是 KeyValuePair< string,object>
的集合。
您的 ViewDataDictionary
初始值设定项(外部花括号)包含另一组花括号,表示 KeyValuePair< string,object>
初始值设定项。
Your ViewDataDictionary
initializer (outer curly braces) contains another set of curly braces that represents a KeyValuePair<string, object>
initializer.
可能的原因在此答案中进行了说明。
The reason this is possible is explained in this answer.
您可以通过逗号分隔 KeyValuePair< string,object>
初始值设定项来添加
多个项目:
You can Add
multiple items by comma separating the KeyValuePair<string, object>
initializers:
var data = new ViewDataDictionary
{
{ "Name", "Value" },
{ "Name2", "Value2" }
};
与以下内容相同:
var data = new ViewDataDictionary
{
new KeyValuePair<string, object>("Name", "Value"),
new KeyValuePair<string, object>("Name2", "Value2")
};
本质上,内部花括号是初始化 KeyValuePair< string的不错语法, object>
对象。
Essentially, the inner curly braces are nice syntax for initializing KeyValuePair<string, object>
objects.
这篇关于初始化程序语法:new ViewDataDictionary {{“名称”,“值” }}的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!