ref和out参数区别

net的关键字,ref关键字--让参数按照引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中;也等同将值类型的数据使用引用方式传参。若要使用ref参数,则方法定义和调用方法都必须显式使用ref,关键字。ref是 reference的缩写。
1. ref的使用:使用ref进行参数的传递时,该参数在创建时,必须设置其初始值,且ref侧重于修改;
2. out的使用: 采用out参数传递时,该参数在创建时,可以不设置初始值,但是在方法中必须初始化,out侧重于输出;
3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。
ref是传递参数的地址,out是返回值
使用ref前必须对变量赋值,out不用。
ref是传入值,out是传出值
ref和out参数区别 ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字。例如:
class refexample
{
static void method(ref int i)
{
i = 44;
}
static void main()
{
int val = 0;
method(ref val);
// val is now 44
}
}
若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字。例如:
class outexample
{
static void method(out int i)
{
i = 44;
}
static void main()
{
int value;
method(out value);
// value is now 44
}
}
ref和out操作区别 传值(by value),传址(by reference),输出参数(by output),数组参数(by array)。传值参数无需额外的修饰符,传址参数需要修饰符ref,输出参数需要修饰符out,数组参数需要修饰符params。传值参数在方法调用过程中如果改变了参数的值,那么传入方法的参数在方法调用完成以后并不因此而改变,而是保留原来传入时的值。传址参数恰恰相反,如果方法调用过程改变了参数的值,那么传入方法的参数在调用完成以后也随之改变。实际上从名称上我们可以清楚地看出两者的含义--传值参数传递的是调用参数的一份拷贝,而传址参数传递的是调用参数的内存地址,该参数在方法内外指向的是同一个存储位置。
ref 方法参数上的 ref 方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。
若要使用 ref 参数,必须将参数作为 ref 参数显式传递到方法。ref 参数的值被传递到 ref 参数。
传递到 ref 参数的参数必须最先初始化。将此方法与 out 参数相比,后者的参数在传递到 out 参数之前不必显式初始化。
属性不是变量,不能作为 ref 参数传递。
如果两种方法的声明仅在它们对 ref 的使用方面不同,则将出现重载。但是,无法定义仅在 ref 和 out 方面不同的重载。
out 方法参数上的 out 方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。
当希望方法返回多个值时,声明 out 方法非常有用。使用 out 参数的方法仍然可以返回一个值。一个方法可以有一个以上的 out 参数。
若要使用 out 参数,必须将参数作为 out 参数显式传递到方法。out 参数的值不会传递到 out 参数。
不必初始化作为 out 参数传递的变量。然而,必须在方法返回之前为 out 参数赋值。
属性不是变量,不能作为 out 参数传递。

中国电信成功实现了5G DU和AAU之间的承载测试
安森美半导体推出用于更小更纤薄智能手机的可调谐射频元件,具备可靠天线性能
俄罗斯开始批量生产基于MIPS架构的自主研发PC处理器
我国传感器产业的发展应从工艺技术和应用两大方向进行突破
江苏如东县将与国网合力打造国际一流的海上风电实验检测中心和产业基地
ref和out参数区别
STM32的三种低功耗模式介绍
专用域架构的特性有哪些
脸搜APP推出3.0版本,所有流程进行了深层次、全方位的优化
无线蓝牙耳机性价比排行,都是值得入手的好产品
生产型企业为何要用三坐标测量机来测量?
国内最大百吨级混合动力无人驾驶AGV智能运输车交付使用
热烈祝贺向成电子两名工程师获得工信部颁发的飞腾平台系统软件工程师认证
令令开门无接触乘梯,为写字楼新增一道防护墙
巨控GRM模块如何修改IP
什么是数通技术?与传统通信技术有何不同?数通技术结合以太网交换机对行业数字化转型有怎样的意义?
什么是GPU和CPU?GPU和CPU的区别及联系
研华科技发布工业级以太网远程I/O模块ADAM-6100
这里有一封IoT硬件盛会邀请函待您开启
一起来看看更全面、更详细的GaN产品介绍!