为什么班级只读?

时间:2012-11-16 13:24:17

标签: c# .net

我试图定义一个类。当我使用

分配时
this = blah blah

编译器报告“这是只读”

当我将类更改为struct时,它看起来很好,任何想法?

1 个答案:

答案 0 :(得分:21)

this中的

class指的是引用; 你不能重新分配你自己的参考,但你可以指定当前实例的字段等。

this中的

struct引用为值本身;当您分配this时,就像分配给任何值类型变量/参数一样,它会将所有字段复制到顶部(作为内存副本)。 是可能的,但坦白地说很难看到。或者,与类一样,您可以单独分配每个字段。