【发布时间】:2017-05-13 20:49:34
【问题描述】:
这两个代码有什么区别:
MyClass a = new MyClass();
a = "something"
和
MyClass a = "something";
在第一个代码中,它创建了 MyClass 对象的新副本。 但是当不使用 new 关键字时会发生什么?会影响初始类(MyClass)吗?
【问题讨论】:
-
第二个无效,不起作用。
-
@rory.ap - 没必要,可以在 MyClass 上定义隐式运算符。
-
@OndrejSvejdar -- 当然,你是对的。但我怀疑这就是他或她所拥有的。
-
你确定你不是真的想知道
MyClass a = { ... }使用括号吗? -
假设
string和MyClass之间有一个未说明的隐式转换运算符,如果发现与这个问题相关,我会大吃一惊。