正在加载图片...
82值传递、引用传递和ref参数 参数传递 值传递:实参将值拷贝给形参,系统要为形参开设存储空间,以接受 传递的值,此时形参成为一个实在的局部变量,从此实参和形参脱离关系, 形参在方法中参与运算,在运算中的发生的任何变化都不会影响实参 ●引用传递:实参将自己的引用,也就是自己数据在存储器中的地址拷 贝给形参,这时形参如同实参的别名,系统不必为形参开设存储空间,形 参在方法中的任何改变就是实参的改变,所以引用参数既是方法的输入, 又是方法的输出,引用传递的形参需要用ref关键字声明,调用方法时的实 参也要添加ref关键字 ●对于属性、事件、索引器和用户定义的运算符来说,它们的参数总是 作为值参数传递的。这些成员类别不支持引用参数和输出参数(out)。 C#的数据类型有值类型和引用类型两种,所以参数传递时,在形式上有四 种情况:值类型参数进行值传递、引用类型参数进行值传递、值类型参数 进行引用传递、引用类型参数进行引用传递。8.2 值传递、引用传递和ref参数 参数传递: ◼l 值传递:实参将值拷贝给形参,系统要为形参开设存储空间,以接受 传递的值,此时形参成为一个实在的局部变量,从此实参和形参脱离关系, 形参在方法中参与运算,在运算中的发生的任何变化都不会影响实参; ◼l 引用传递:实参将自己的引用,也就是自己数据在存储器中的地址拷 贝给形参,这时形参如同实参的别名,系统不必为形参开设存储空间,形 参在方法中的任何改变就是实参的改变,所以引用参数既是方法的输入, 又是方法的输出,引用传递的形参需要用ref关键字声明,调用方法时的实 参也要添加ref关键字。 ◼l 对于属性、事件、索引器和用户定义的运算符来说,它们的参数总是 作为值参数传递的。这些成员类别不支持引用参数和输出参数(out)。 C#的数据类型有值类型和引用类型两种,所以参数传递时,在形式上有四 种情况:值类型参数进行值传递、引用类型参数进行值传递、值类型参数 进行引用传递、引用类型参数进行引用传递
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有