C#中方法中 ref 和 out的使用
2016-12-03 10:45
323 查看
案例1:
案例2:
x=1,y=2
x1=2,y1=11
staticvoidMain() { int[]ary={12,13,103,10003}; intnumLargerThan10,numLargerThan100,numLargerThan1000; Proc(ary,outnumLargerThan10,outnumLargerThan100,outnumLargerThan1000); Console.WriteLine("有{0}个数大于10,有{1}个数大于100,有{2}个数大于1000",numLargerThan10,numLargerThan100,numLargerThan1000); Console.Read(); } staticvoidProc(int[]ary,outintnumLargerThan10,outintnumLargerThan100,outintnumLargerThan1000) { numLargerThan10=0; numLargerThan100=0; numLargerThan1000=0; foreach(varainary) { if(a>1000) numLargerThan1000++; elseif(a>100) numLargerThan100++; elseif(a>10) numLargerThan10++; } } 输出结果: 有2个数大于10,有1个数大于100,有1个数大于1000
案例2:
classProgram { //使用out后必须对变量赋值 publicvoidTestOut(outintx,outinty) { x=1; y=2; } //此时传进来的值分别为x1:10,y1:11,输出之后的x1的值为2 publicvoidTestRef(refintx,refinty) { //引用剪剪那句话传进来的是猪,出来的可能是头牛(很精辟!) x=2; } staticvoidMain(string[]args) { intx; inty; ProgramP1=newProgram(); P1.TestOut(outx,outy); Console.WriteLine("x={0},y={1}",x,y); //在使用之前ref必须对变量赋值 intx1=10; intY1=11; P1.TestRef(refx1,refY1); Console.WriteLine("x1={0},y1={1}",x1,Y1); } } 输出结果:
x=1,y=2
x1=2,y1=11
相关文章推荐
- 浅谈 C# ref 和 out 的使用方法
- C# 中的四种参数的使用方法(一般参数,ref 参数,out参数,参数数列)
- C#方法参数传递-同时使用ref和out关键字
- C# 中的 ref 和 out 的意义和使用方法
- 在 C# 异步方法中使用 out/ref 参数机制
- 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结
- C# 中ref out 使用方法及注意事项
- C#中使用ref和out传递数组的方法
- C#方法参数传递-同时使用ref和out关键字
- C#中的ref和out的意义和使用方法
- c#中out和ref的使用区别 [转]
- C#中ref和out的使用小结
- C#中ref out,关键是string的使用事宜zzpart
- C#中ref和out的使用小结
- 认识 C#中使用ref和out (转)
- C#中ref和out的使用小结
- 用MSIL剥开C#的外衣(一):方法参数ref、out、params和lock、for和foreach关键字
- C#中ref和out的使用小结
- c#中out和ref的使用级区别