C#以前都是不支持多返回值,当需要返回多个值的时候,就会感觉比较麻烦,通常的做法有
1.采用ref,out 关键字返回
2.定义类或者结构体 返回对象
C# 6.0出来了新的语法 Tuple 支付返回多个值
示例:
class Demo
{
public void Run()
{
var num = Exec(, );
Console.WriteLine(num.Item1); //第一个返回值
Console.WriteLine(num.Item2); //第二个返回值 Console.WriteLine();
var num2 = Exec2(, );
Console.WriteLine(num2.Item1); //第一个返回值
Console.WriteLine(num2.Item2); //第二个返回值
Console.WriteLine(num2.Item3); //第三个返回值
} public Tuple<int, int> Exec(int a, int b)
{
Tuple<int, int> tup = new Tuple<int, int>(a + b, a * b);
return tup;
} public Tuple<int, int, int> Exec2(int a, int b)
{
Tuple<int, int, int> tup = new Tuple<int, int,int>(a + b, a * b, a - b);
return tup;
} }
结果:
这样就返回多个值了。。
参考:http://204367.vhost447.cloudvhost.net/Article.aspx?id=cbd9ec8b-2329-49e0-9719-1cf48fd64d6e