函数输出参数,没有理解透
using System;using System.Text;
namespace 控制台临时测试程序
{
class Program
{
static void Main(string[] args)
{
double[] arra = new double[10];
inPut(out arra);
printSpace();
outPut(arra);
Console.ReadKey();
}
static void inPut(out double[] arra)
{
byte i;
for (i = 0; i < arra.Length; i++)
{
Console.Write("请输入第{0}个数:",i+1);
arra[i] = Convert.ToDouble(Console.ReadLine());
}
return;
}
static void outPut(double[] arra)
{
foreach (double temp in arra)
Console.Write("{0} ",temp);
return;
}
static void printSpace()
{
Console.Write("\n\n\n\n\n");
}
}
}
书上说:
把未赋值的变量用作ref参数是非法的,但可以把未赋值的变量用作out参数;另外,在函数使用out参数时,该参数必须看作是还未赋值,即调用代码可以把已赋值的变量用作out参数,存储在该变量中的值会在函数执行时丢失。
编译时出现以下错误:
错误 1 使用了未赋值的 out 参数“arra” D:\C#\控制台临时测试程序\控制台临时测试程序\Program.cs 29 29 控制台临时测试程序
错误 2 控制离开当前方法之前必须对 out 参数“arra”赋值 D:\C#\控制台临时测试程序\控制台临时测试程序\Program.cs 34 13 控制台临时测试程序
Main()函数中已经用new关键字对数组进行了初始化啊,怎么会有这个错误呢?没完全理解out参数的用法。