黑马程序员--关于方法的out参数的使用

来源:互联网 发布:alisql和mysql 编辑:程序博客网 时间:2024/05/22 10:33

 ------- Windows Phone 7手机开发.Net培训、期待与您交流! -------

通过out参数我们可以在调取方法时进行返值;

例子:

  {

   int  number;

   int result =Text(out number);

  conso.writeline("number={0}result={1}",number,result);

console.readkey();

}

static int Text(out  int a)

{a=10;

 a=a+1;

 return 200;

}       

  结果是 number=11, result=200;

通过例子我们可以看出,有返回值的函数只能有一个返回结果,但是通过out 参数,我们可以将定义的参数的值的变化返回去。

    在方法的参数类型前加out,标明这个参数是用来传出值的。  如果是以out形式传入的,在传入前可以不赋初值。在方法中,由Out修饰的参数,必须赋初值。

 练习:输入一个数组,用方法实现一个int类型数组中最大值和最小值。

{

console.writeline("请输入数组个数");

int n=int.parse(console.readline());

int[]nums=new int[n];

for(i=0;i<n;i++)

{ a[i]=int.parse(console.writeline());}

int sum,max,min;

sum=cm(nums,out max,out min);

console.writeline(“数组中所有元素的和为{0},最大的数为{1},最小的数位{2}”,sum,max,min);

console.readkey();

}

static int computer(int []numbers,out int max,out int min)

{

int sum=0;

max=numbers[0];min=numbers[0];

for(i=0;i<n;i++)

{

if(max<numbers[i]

max=numbers[i];

if(min>numbers[i])

min=nubers[i];

sum+=numbers[i];

}

return sum;

}

通过这个练习可以看到,out参数是可以返回多个返回值的 ,out可以理解为传出值,同时还有ref函数,可以理解为双向的,既可以传入,也可以传出。

在传参数的过程中,如果有out/ref修饰的话,那么改变方法中参数的值,调用者方法中的变量的值也会相应改变。





 ------- Windows Phone 7手机开发.Net培训、期待与您交流! -------

原创粉丝点击