【发布时间】:2017-10-02 07:44:04
【问题描述】:
为“类”和“结构”定义了默认构造函数。但是如果我声明一个只有 1 个构造函数的类“Point”,并且也是一个参数化的,编译器将不允许我编写
Point p = new Point()
但是,如果我有一个结构“Point”,它又只有 1 个参数化构造函数,编译器将允许我编写
Point p = new Point()
我要问的问题是为什么编译器允许 struct 创建对象而停止类创建对象?
注意:我在 C# 6 上编写此代码
【问题讨论】:
-
你的问题是什么?你没有问一个。
-
正确,这是结构的行为。见here
-
还有另一个问题来自 Jon Skeet - stackoverflow.com/questions/333829/…
-
实际上,Eric Lippert wrote a great comment 关于“为什么”的问题,即 “对“为什么语言是这样的”的充分回答是重新讨论我们进行的数小时的辩论关于它。”.
-
您能否发送您的 C# 代码以了解您的问题
标签: c#