【发布时间】:2017-01-26 20:20:42
【问题描述】:
考虑这段代码:
class X
{
int _value;
public object Value { get { return _value; } set { _value = Convert.ToInt32(value); } }
}
X x = new X();
object y = x.Value = 2.3;
在我看来,它看起来像 y == 2.0,因为那是 x.Value 的返回值,但事实证明它是 y == 2.3,尽管 x.Value == 2。
为什么?
【问题讨论】:
-
谢谢,Skeet 的回答很好地解释了这一点。如果你问我,这是错误的做法。
标签: c#