【发布时间】:2013-03-04 10:20:24
【问题描述】:
我承认我对 c# 的经验还很远,所以这可能很明显,但我不得不问——这两个代码示例之间有什么区别吗?如果不明显,第一条语句在 new 运算符的末尾省略 ()。在这种情况下有什么区别还是 () 只是多余的?
private static Dictionary<string, string> dict1 = new Dictionary<string, string>
{
{ "a", "A" },
{ "b", "B" }
};
private static Dictionary<string, string> dict2 = new Dictionary<string, string>()
{
{ "a", "A" },
{ "b", "B" }
};
【问题讨论】:
-
除了让其他人阅读和/或支持您的代码的可读性之外,没有什么区别,我认为大多数 C# 编码人员都熟悉使用第二个示例声明 Dictionary
新的。还要记住,如果你创建一个 Dictionary<string,string> dict1 = new Dictionary<string,string>;而没有()作为非方法,那么你会得到编译器错误 -
@DJ KRAZE,我知道
Dictionary<string,string> dict1 = new Dictionary<string,string>;不会编译,这就是为什么我的两个示例都能编译让我感到惊讶。 -
声明方法和实例不同
标签: c# collections initializer