【问题标题】:Difference between new Class() { ... } and new Class { ... } [duplicate]new Class() { ... } 和 new Class { ... } 之间的区别 [重复]
【发布时间】:2016-10-04 12:27:48
【问题描述】:

新建一个带括号和不带括号的类有什么区别?

Class instance = new Class()
{
    X = 1,
    Y = 2,
    Z = 3
};

对比

Class instance = new Class
{
    X = 1,
    Y = 2,
    Z = 3
}

【问题讨论】:

  • 那不是 Java。请提出一个具体而明确的问题。你问的是语言语法——这怎么可能是“与语言无关的”?
  • @HovercraftFullOfEels - 请注意我还标记了与语言无关的和 C#?
  • 您已将该问题标记为与语言无关,然后提出了一个与语言语法相关的问题。如果不限于特定的语言,这个问题是不可能回答的。
  • "notice I also tagged language-agnostic and C#?" -- 我确实做到了。了解语言标签垃圾邮件会增加对您问题的关注,而通常是您不想要的关注。
  • 关于 C# 语法的问题如何与语言无关?

标签: c# oop


【解决方案1】:

什么都没有。当使用对象初始化语法{ } 时,无参数构造函数的() 是可选的。

来自the overview of C# 3.0,这里引入了这种语法:

对象创建表达式可以省略构造函数参数列表和括号,前提是它包含对象或集合初始值设定项。省略构造函数参数列表并用括号括起来等效于指定一个空的参数列表。

您可能会对this related question 感兴趣。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-26
    • 2015-07-01
    • 2015-08-01
    • 2011-06-09
    相关资源
    最近更新 更多