怎么做" ="运算符在.Net中使用Int32

时间:2015-01-24 17:41:44

标签: .net struct int32

当我进入mscolib.dll程序集时,我发现Int32是一个结构体,但我不知道为什么我们可以将“=”运算符应用于Int32,就像这个Int32 num=5;一样。它不会超载Int32结构中的“=”运算符。

1 个答案:

答案 0 :(得分:1)

=运算符无法重载。见Overloadable Operators=运算符始终将右侧的值分配给左侧的变量。

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

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