.net 为什么小型结构比大型结构提高性能?

.net 为什么小型结构比大型结构提高性能?,.net,performance,struct,clr,.net,Performance,Struct,Clr,在SO和internet中,许多人普遍回答“为什么结构应该是小型的”指的是性能,但没有人解释为什么。有人能解释一下吗?Struct是一种值类型,例如,当它被传递给函数时,它就被复制了。因此,如果struct的大小为512位,那么将复制所有512位。如果要传递引用类型,则只会复制对这512位的32/64位引用。从 接下来,引用类型指定复制引用,而值类型指定复制整个值。因此,大引用类型的赋值比大值类型的赋值便宜 因为它是一个valuetype,当传递给方法或从方法返回值时,或者赋值时,该值会被复制。

在SO和internet中,许多人普遍回答“为什么结构应该是小型的”指的是性能,但没有人解释为什么。有人能解释一下吗?

Struct是一种值类型,例如,当它被传递给函数时,它就被复制了。因此,如果struct的大小为512位,那么将复制所有512位。如果要传递引用类型,则只会复制对这512位的32/64位引用。从

接下来,引用类型指定复制引用,而值类型指定复制整个值。因此,大引用类型的赋值比大值类型的赋值便宜


因为它是一个valuetype,当传递给方法或从方法返回值时,或者赋值时,该值会被复制。@leppie,那么这是关于更少的内存复制吗?很抱歉在这里分门别类:在C#中,所有内容都是按值传递的,除非您显式地按引用传递。传递引用类型时,将复制引用本身。这与C#中的“通过引用传递”不同。@BrianRasmussen同意,在answer@BrianRasmussen这段引文讲的是作业,而不是论点传递。