黑马程序员——ref 和 out 传参的用法实例
2014-02-07 17:21
232 查看
-------------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! --------------------------
如果方法要更改数值,有时需要传递值给方法获得返回值。以下是传递参数的4种情况。
(1)值参数 :不含任何修饰符
(2)引用参数:以ref修饰符(in out )
如果要传递原值并修改他,使用引用参数就非常方便。因为引用参数传递了一个变量给方法而不仅仅传递它的值,所以对参数的操作会影响原值。
在传递前变量必须被初始化。
(3)输出参数:以out修饰符
在传递参数前加out关键字即可将该传递参数设作一个输出参数,用来返回一个结果。
它和引用参数的区别在于不用初始化。
(4)参数数组
参数数组必须用params修饰词明确指定,在方法的参数表中只允许出现一个参数数组;在方法同时具有固定参数和参数数组的情况下,参数数组必须放
在整个参数列表的最后,且只允许有一个数组。
-------------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! --------------------------
如果方法要更改数值,有时需要传递值给方法获得返回值。以下是传递参数的4种情况。
(1)值参数 :不含任何修饰符
(2)引用参数:以ref修饰符(in out )
如果要传递原值并修改他,使用引用参数就非常方便。因为引用参数传递了一个变量给方法而不仅仅传递它的值,所以对参数的操作会影响原值。
在传递前变量必须被初始化。
namespace ref_and_out { class Program { static void Main(string[] args) { string StrTry = " OH mY god"; getNum(ref StrTry); Console.WriteLine(StrTry); Console.ReadKey(); } static void getNum(ref string a) { string b = a; //b会获得a传进来的值,OH mY god;一般传值进来参与运算 } } }
(3)输出参数:以out修饰符
在传递参数前加out关键字即可将该传递参数设作一个输出参数,用来返回一个结果。
它和引用参数的区别在于不用初始化。
namespace ref_and_out { class Program { static void Main(string[] args) { int value; //value 和obj赋初值不影响结果 string obj; getNum(out value,out obj); Console.WriteLine("This old-time {0} now is {1} years old.",obj,value);//打印结果 This old-time Bonnie lass now is 79 years old.
Console.ReadKey(); } static void getNum(out int i, out string j) { i = 79; j ="Bonnie lass"; } }
(4)参数数组
参数数组必须用params修饰词明确指定,在方法的参数表中只允许出现一个参数数组;在方法同时具有固定参数和参数数组的情况下,参数数组必须放
在整个参数列表的最后,且只允许有一个数组。
-------------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! --------------------------
相关文章推荐
- c#中out与ref的用法与区别
- C#函数传参的out与ref的应用(转)
- MySQL存储过程传参之in,out,inout参数用法
- c#中out、ref和params的用法与区别
- 黑马程序员—out和ref的小结
- C#中ref、out类型参数的区别和params类型参数的用法
- DotNet ref out关键字应用实例详解
- 黑马程序员_out和ref
- ref 和 out 的用法和区别以及params用法
- c#中out与ref的用法与区别
- ref和out的用法和区别
- 使用泛型元组替代out与ref形式传参
- out与ref的用法
- MySQL 存储过程传参之in, out, inout 参数用法
- C# 中out,ref,params 用法例子
- 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结
- c#中ref和out的用法
- C#中ref、out及特殊说明参数的用法
- C#之Ref,Out以及TryParse()的用法
- C#函数传参的out与ref的应用(转)