我正在学习拳击和拆箱。
我经历了这个例子,我无法理解答案。
谁能给我解释一下。
通过看一个简单的例子,我知道装箱和拆箱现在做了什么,但是这个例子有点混乱。
一个装箱然后拆箱的例子,一个棘手的例子。
[struct|class] Point {
public int x, y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
}
Point p = new Point(1, 1);
object o = p; p.x = 2;
Console.WriteLine(((Point)o).x);
我将答案读为:
这取决于!如果 Point 是一个结构,则输出为 1,但如果 Point 是一个类,则输出为 2!装箱转换会复制被装箱的值,以解释行为差异。
这里是((point)o).x
装箱还是拆箱?
没看懂,谁能解释一下。
我知道答案应该是1,但是如果上课那么2呢?