使用 out 和 ref 参数时的装箱和拆箱

Posted

技术标签:

【中文标题】使用 out 和 ref 参数时的装箱和拆箱【英文标题】:Boxing and unboxing when using out and ref parameters 【发布时间】:2011-07-03 10:54:18 【问题描述】:

当方法接受 ValueType 的 out/ref 参数时是否会发生装箱/拆箱?

【问题讨论】:

C# - Does using a value type with an out parameter cause the variable to be boxed?的可能重复 【参考方案1】:

对于ref 关键字它已经在MSDN 上提到过:

不要将引用传递的概念与引用类型的概念混淆。这两个概念并不相同。方法参数无论是值类型还是引用类型,都可以通过 ref 进行修改。 值类型在通过引用传递时没有装箱

至于out关键字:

out 关键字使参数通过引用 传递。这与 ref 关键字类似,不同之处在于 ref 要求在传递变量之前对其进行初始化。

【讨论】:

以上是关于使用 out 和 ref 参数时的装箱和拆箱的主要内容,如果未能解决你的问题,请参考以下文章

Java中装箱和拆箱的代码

由自动装箱和拆箱引发我看Integer源码

iOS小技能:装箱和拆箱(boxingunboxing)

深入剖析Java中的装箱和拆箱

java 啥是拆箱和装箱,拆箱和装箱 嘛用啊???

装箱和拆箱