【发布时间】:2015-03-20 11:57:36
【问题描述】:
我读过:
团队通常忙于实施其他变体 初始化器。例如,您现在可以初始化一个 Dictionary 对象
但是看着:
var Dic = new Dictionary<string,int>{ {"x",3}, {"y",7} };
对比
var Dic = new Dictionary<string,int>{ ["x"]=3, ["y"]=7 };
我看不出好处在哪里。它看起来一样。两者都只不过是一个名称-值集合。
他们将花括号对换成方括号和一些逗号
问题:
使用新语法的附加价值是什么?一个真实世界的例子将不胜感激。
【问题讨论】:
-
没有任何好处。它只是看起来更像节点式的。
-
@TravisJ 我觉得这很奇怪(“没有好处......”),
$xxx很好,但想想他们只是从花括号变成了括号......? -
这只是一个变体。我想如果有的话,它的好处可能是它对不同编程背景的人来说读起来更好。但除此之外,它并没有真正改变字典的功能,或者让它拥有某种新的魔力:)
-
@TravisJ 有一个好处 - 您现在可以使用索引器“内联初始化”任何类型,即使它不适用于集合初始化器。
标签: c# dictionary c#-6.0 collection-initializer