-2

当我深入mscolib.dll汇编时,我发现 Int32 是一个结构,但我不知道为什么我们可以像这样将“=”运算符应用于 Int32 Int32 num=5;。它不会在 Int32 结构中重载“=”运算符。

4

1 回答 1

1

=运算符不能重载。请参阅可重载运算符。运算符总是将右侧的=值赋给左侧的变量。

对于值类型(结构),这意味着将整个值复制到变量中。

对于类似 的类型Int32,处理器中有内置指令可以进行复制。对于太大以至于没有指令可以一次复制整个值的结构,将有一个循环将结构中的字节复制到变量中。

于 2015-01-24T17:49:04.050 回答