C#中正常的return语句可用于只从函数中返回一个值,如果要返回多个值,可以使用输出参数out,例:public void getValue(out int a,out int b)
使用条件:
(1)必须在声明和调用中都使用修饰符,输出参数的修饰符为out
(2)和引用参数相似,输出参数out为引用类型,实参必须是变量,而不能是其他类型的表达式,因为方法需要内存位置保存返回值
(3)在方法内部,输出参数在能够被读取之前必须是已经在函数内部赋值过的,这意味着参数的初始值是无关的,而且没有必要再方法调用之前为实参赋值。
(4)在方法返回之前,方法内部必须为所有输出参数进行赋值
public void getValue(out int i)
{
int a = i; //在i被赋值之前使用i,编译器会报错
i = 10;
}
正确使用:
class Program
{
static public void getValue(out int i) //声明时加out
{
i = 10;
}
static void Main(string[] args)
{
int a;
Program.getValue(out a); //调用时必须加out
Console.WriteLine(a); //10
}
}