初始化程序语法:new ViewDataDictionary {{“名称”,“值” }} [英] Initializer syntax: new ViewDataDictionary { { "Name", "Value" } }

查看:450
本文介绍了初始化程序语法:new ViewDataDictionary {{“名称”,“值” }}的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在寻找一种将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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆