很灵异的编译错误,对拆箱比较熟悉的请来拿分吧
在代码中有一个结构体
struct stru
{
public int X;
public int Y;
}
为啥这样写
object o = new stru();
stru s = (stru)o;
s.X = 1;
s.Y = 1;
就没有问题,
而这样写
object o = new stru();
((stru)o).X = 1;
((stru)o).Y = 1;
就编译不通过呢?
期待高人的解释
[解决办法]
因为struct 是值类型