2016-11-17 47 views
0

我正在阅读约passing by reference in C#,虽然这样做,我读了以下使我困惑的句子。通过参考值/值 - 拳击/拆箱关系

“当通过引用传递时,没有值类型的装箱”。

虽然我知道什么是拳击,我想我错过了这句话中包含的信息的实际深度。我知道它基本上说没有拳击发生,当然也不拆箱,但我可以从中得出什么其他结论?无论如何与拳击/拆箱有关的价值/参考传递?

+2

拳击与通过引用传递值类型并没有关系,因为拳击很慢。我猜这本书的作者想要显示按值传递引用类型(当你有引用时你可以改变对象属性但不引用它自己)和通过ref传递值类型之间的区别(行为将类似于传递引用类型,但你不会慢拳) – csharpfolk

+2

我不同意这是一个重复的问题。他们在谈论同样的事情,但是对于解决OP问题的dup却没有给出答案。投票重新开放。 – itsme86

+1

[这个答案](http://stackoverflow.com/a/4807391/1141432)更直接关系到OP的问题。 – itsme86

回答

0

如果您通过引用传递值类型,则不涉及装箱和拆箱。正如在C#中所说的,它有内存别名。你甚至可以在Linqpad中试用它。在IL代码中显示它之后,你会看到没有涉及到装箱/取消装箱。