sga*_*dev 0 .net c# oop class object
我有以下课程:
public class TestClass {
public string ClassName {
get;
set;
}
}
Run Code Online (Sandbox Code Playgroud)
做的有什么区别:
var instance = new TestClass();
Run Code Online (Sandbox Code Playgroud)
并做
var instance = new TestClass { };
Run Code Online (Sandbox Code Playgroud)
我认为你需要包含()来调用对象的构造函数.那是什么意思?
编辑:有人可以解释哪个最好?或者,如果忽略构造函数,优点或缺点?
编辑2:对不起,如果我问过已经回答的问题.差异对我来说有点清楚,但我真的不明白我如何混合和匹配()和{},因为有时候()被忽略了,我想知道我什么时候能这样做
第一个示例实例化一个新实例.
第二个示例通过对象初始化语法实例化一个新实例.
他们最终都创建了一个新实例.
如果您需要或想要在实例化期间设置类的公共属性或字段,则可以使用后者:
var instance = new TestClass { ClassName = "TestingInstance" };
Run Code Online (Sandbox Code Playgroud)
而不是
var instance = new TestClass();
instance.ClassName = "TestingInstance";
Run Code Online (Sandbox Code Playgroud)
在创建新对象和设置大量属性时,它本质上是"语法糖",使您的生活更容易(并且对于某些开发者来说更明确).
当使用对象初始化,PARAMS ()是可选的,但括号{}和语句的结束分号;是必需的
| 归档时间: |
|
| 查看次数: |
920 次 |
| 最近记录: |