什么是out?
在方法中想要返回多个值(尤其是多个不同类型的值)可以考虑使用out参数来解决。
如何做?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Demo {
class Program {
static void Main(string[] args) {
//对于out修饰的参数来说,方法的内部必须赋值,外部可以不赋值
bool flag;
int money;
string message=Test("张三", 19, out flag, out money);
Console.WriteLine(message);
Console.WriteLine(flag);
Console.WriteLine(money);
Console.ReadKey();
}
public static string Test(string name, int age,out bool flag,out int money) {
//对于out修饰的参数来说,方法的内部必须赋值,外部可以不赋值
flag = true;
money = 200;
return name+age;
}
}
}
运行结果:
如代码所示,对于想要返回多个值的方法来说,只需要使用out修饰,想要返回的形参就行了,如:
public static string Test(string name, int age,out bool flag,out int money) {
flag = true;
money = 200;
return name+age;
}
在其他地方调用时,在对应的实参上加上out修饰,如:
string message=Test("张三", 19, out flag, out money);
对于实参的名字可以与形参不同,这没有强制规定。如图,这样是完全没有问题的。