C#中out , ref 和params的用法
2010-04-29 16:28
232 查看
ref和out都对函数参数采用引用传递形式——不管是值类型参数还是引用类型参数,并且定义函数和调用函数时都必须显示生命该参数为ref/out形式。两者都可以使函数传回多个结果。
两者区别:
两种参数类型的设计思想不同,ref的目的在于将值类型参数当作引用型参数传递到函数,是函数的输入参数,并且在函数内部的任何改变也都将影响函数外部该参数的值;而out的目的在于获取函数的返回值,是输出参数,由函数内部计算得到的值再回传到函数外部,因此必须在函数内部对该参数赋值,这将冲掉函数外部的任何赋值,使得函数外部赋值毫无意义。
表现为:
1、out必须在函数体内初始化,这使得在外面初始化变得没意义。也就是说,out型的参数在函数体内不能得到外面传进来的初始值。
2、ref必须在函数体外初始化。
3、两者在函数体内的任何修改都将影响到函数体外面。
两者区别:
两种参数类型的设计思想不同,ref的目的在于将值类型参数当作引用型参数传递到函数,是函数的输入参数,并且在函数内部的任何改变也都将影响函数外部该参数的值;而out的目的在于获取函数的返回值,是输出参数,由函数内部计算得到的值再回传到函数外部,因此必须在函数内部对该参数赋值,这将冲掉函数外部的任何赋值,使得函数外部赋值毫无意义。
表现为:
1、out必须在函数体内初始化,这使得在外面初始化变得没意义。也就是说,out型的参数在函数体内不能得到外面传进来的初始值。
2、ref必须在函数体外初始化。
3、两者在函数体内的任何修改都将影响到函数体外面。
相关文章推荐
- c#中out、ref和params的用法与区别
- c#中out、ref和params的用法与区别
- C#中ref、out类型参数的区别和params类型参数的用法
- c#中out、ref和params的用法与区别
- c#中out、ref和params的用法与区别 params可以传不定长的参数
- 小议C#的用法五(ref,out,params)
- c#中out、ref和params的用法与区别
- C#中的out,ref,params的用法讲解
- C#中ref、out类型参数的区别和params类型参数的用法
- c#中out、ref和params的用法与区别
- c#中out、ref和params的用法与区别
- c#中out、ref和params的用法与区别
- C# 中out,ref,params 用法例子
- C#的参数类型:params、out和ref
- C#中方法的参数四种类型(值参数、ref、out、params)详解
- c#.net中参数修饰符ref,out ,params的区别
- c#params ref out
- C#.NET学习笔记---C#中方法参数的传递方式: 值类型(默认),ref类型,out类型和params类型
- c#.net中参数修饰符ref,out ,params得区别
- c#中ref和out的用法