C#中方法中 ref 和 out的使用
Posted Demo233
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#中方法中 ref 和 out的使用相关的知识,希望对你有一定的参考价值。
案例1:
static void Main() { int[] ary = { 12, 13, 103, 10003 }; int numLargerThan10,numLargerThan100,numLargerThan1000 ; Proc(ary, out numLargerThan10, out numLargerThan100, out numLargerThan1000); Console.WriteLine("有{0}个数大于10,有{1}个数大于100,有{2}个数大于1000",numLargerThan10,numLargerThan100,numLargerThan1000); Console.Read(); } static void Proc(int[] ary, out int numLargerThan10, out int numLargerThan100, out int numLargerThan1000) { numLargerThan10 = 0; numLargerThan100 = 0; numLargerThan1000 = 0; foreach (var a in ary) { if (a > 1000) numLargerThan1000++; else if (a > 100) numLargerThan100++; else if (a > 10) numLargerThan10++; } }
输出结果:
有2个数大于10,有1个数大于100,有1个数大于1000
案例2:
class Program { //使用out后必须对变量赋值 public void TestOut(out int x, out int y) { x = 1; y = 2; } //此时传进来的值分别为x1:10,y1:11,输出之后的x1的值为2 public void TestRef(ref int x, ref int y) { //引用剪剪那句话传进来的是猪,出来的可能是头牛(很精辟!) x = 2; } static void Main(string[] args) { int x; int y; Program P1 = new Program(); P1.TestOut(out x,out y); Console.WriteLine("x={0},y={1}", x, y); //在使用之前ref必须对变量赋值 int x1 = 10; int Y1 = 11; P1.TestRef(ref x1,ref Y1); Console.WriteLine("x1={0},y1={1}", x1, Y1); } }
输出结果:
x=1,y=2
x1=2,y1=11
以上是关于C#中方法中 ref 和 out的使用的主要内容,如果未能解决你的问题,请参考以下文章