正确理解 C#中的 ref 关键字
最近有人问到关键字的正确用法,下面我们来举例说明。其实要更好的理解关
键字,结合代码更加容易一些。另外在开始我们的例子之前,需要提前说明几点:
中的数据有两种类型:引用类型()和值类型()。 简单类
型(包括 等)和结构()都是值类型,而其他的类都是引用类型。
简单类型在传值的时候会做复制操作,而引用类型只是传递引用,就像 中的指针一样。
注意在和中的区别。在中,和类基本相同(
)。 而在中,
和类有很大的区别。其中最大的区别(我个人觉得,同时也是容易忽略的一个地方)可能
就是它是值类型,而不是引用类型。
下面这段代码是中的例子:
!"
#
$%&'(
#
%)!
*++"
,
$%&'(
#
%)!
*++"
,
%!!"
-.!
%!!"
-.!
$'(
#
*++"!$/
%&'("!
01'("
%&'("
01'("
,
,
大家很容易看出输出结果是: