c# 输出参数

4 本我 2个月前 119次点击

除了按引用传递值外,还可以使用out关键字,指定所给的参数是一个输出参数。out关键字的使用方式与ref关键字相同(在函数定义和函数调用中用作参数的修饰符)。实际上,它的执行方式与引用参数几乎完全一样,因为在函数执行完毕后,该参数的值将返回给函数调用中使用的变量。但是,二者存在一些重要区别:

● 把未赋值的变量用作ref参数是非法的,但可以把未赋值的变量用作out参数。

● 另外,在函数使用out参数时,必须把它看成尚未赋值。

即调用代码可以把已赋值的变量用作out参数,但存储在该变量中的值会在函数执行时丢失。

例如,考虑前面返回数组中最大值()函数,略微修改该函数,获取数组中最大值的元素索引。为简单起见,如果数组中有多个元素的值都是这个最大值,只提取第一个最大值的索引。为此,修改函数,添加一个out参数,如下所示:

class Program

{

//定义函数:最大值

static int 最大值(int[] int数组, out int 最大索引)

{

//将数组中的元素依次比较,如果比他大则取而代之

int 最大值 = int数组[0];

最大索引 = 0;

for (int i = 0; i < int数组.Length; i++)

{

if (int数组[i] > 最大值)

{

最大值 = int数组[i];

最大索引 = i;

}

}

return 最大值;

}

static void Main(string[] args)

{

//声明数组:我的数组

int[] 我的数组 = { 1,2,3,4,5,4,5,6,6,6,1,1,1,0};

//声明变量:最大索引

int 最大索引;

WriteLine($"数组的最大值是{最大值(我的数组,out 最大索引)}");

WriteLine($"此值第一次出现在{最大索引+1}处");

ReadKey();

}

}

注意,必须在函数调用中使用out关键字,就像ref关键字一样。


共 2 条评论
Starcloud 2个月前
0 

这是什么东西

写代码。
添加一条新评论

登录后可以发表评论 去登录