为什么小型结构可以提高大型结构的性能?
Struct是一个值类型,当它被传递给函数时 - 它被复制。所以如果结构体大小为512位 - 所有512位将被复制。如果你通过参考类型 - 只有32/64位参考这512位将被复制。从MSDN
接下来,引用类型赋值复制引用,而值类型赋值复制整个值。因此,大参考类型的分配比大值类型的分配便宜。
对不起,在这里分割头发:除非你明确地通过引用传递,否则一切都通过C#中的值传递。当你传递一个引用类型时,引用本身被复制。这与C#中的引用传递不同。 –
@BrianRasmussen,同意,添加更多的细节来回答 – 4ybaka
@BrianRasmussen引用谈论有关任务,而不是论证传递。 –
因为它是一个valuetype,并且在传递给方法或从方法返回或赋值时复制该值。 – leppie
@leppie那么它的内存拷贝更少? –