1. 若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字。
2. 传递到 ref 参数的参数必须最先初始化。这与 out 不同,out 的参数在传递之前不需要显式初始化。
3. 属性不是变量,因此不能作为 ref 参数传递。
4. 尽管 ref 和 out 在运行时的处理方式不同,但它们在编译时的处理方式是相同的。因此,如果一个方法采用 ref 参数,而另一个方法采用 out 参数,则无法重载这两个方法。
例如,从编译的角度来看,以下**中的两个方法是完全相同的。如果尝试这么做,将导致不能编译该**。
5. 如果一个方法采用 ref 或 out 参数,而另一个方法不采用这两类参数,则可以进行重载。
示例:按引用传递值类型是有用的,但是 ref 对于传递引用类型也是很有用的。这允许被调用的方法修改该引用所引用的对象,因为引用本身是按引用来传递的。
/keywords_
usingsystem;
classapp
publicstaticvoiduseref(refinti)
i+=100;
i=",i);
staticvoidmain()
inti=10;
/查看调用方法之前的值。
beforethemethodcalling:i=",i);
useref(refi);
/查看调用方法之后的值。
afterthemethodcalling:i=",i);
控制台输出:
beforethemethodcalling:i=10
i=110afterthemethodcalling:i=110
outout 关键字会导致参数通过引用来传递。这与 ref 关键字类似。
与 ref 的不同之处:
1. ref 要求变量必须在传递之前进行初始化。
2. 尽管作为 out 参数传递的变量不需要在传递之前进行初始化,但需要调用方法以便在方法返回之前赋值。
示例:与 ref 示例不同的地方只要将 ref 改为 out,然后变量 i 仅需要声明即可。
staticvoidmain()
/inti=10;改为。inti;
学习C 方法
前言。我的blog以前很长一段时间关注的都是c 中的技术 细节,乃至于读者和应者都寥寥。然而5月份的时候写的一篇 你应当如何学习c 阅读量却达到了3万多,在blog上所有文章中却是最高的 且远远超过了第二位 评论数目也有一百多。为什么独独这篇能够激起这么多的回应,想必是国内的c 社群被c 压抑太久,...
C 复习参考
一 题型及分值 1.选择 25题,25分 2.填空 10题,20分 3.程序填空 3题,14分 4.看程序写结果 5题,25分 5,程序设计 2题,16分 二 知识点。1.运算符的使用及对操作数的要求。2.逻辑运算符的使用及逻辑表达式的计算。循环的使用及循环次数的控制。4.通过指针访问数组元素。5....
C语言参考
一 用子函数写选择排序法的程序 从小到大 void px int a,int n int i,j for i 0 i 二 用子函数写冒泡排序法的程序 从小到大 void px int a,int n int i,j for i 1 i 三 用子函数写顺序查找法的程序。int find int a,i...