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