C# 元组
从函数中返回多个值有多种方法。例如,可用使用前面讨论的out关键字、结构或数组。虽然使用out关键字可以达到此目的,但这样使用该关键字并不是它最初的设计用途。记住,out关键字旨在通过引用传递参数,而不必事先初始化它。而结构、数组和类都是有效的选择,但需要额外编写代码来创建、初始化、引用和读取它们。相比之下,使用元组则是达到此目的的一种非常优雅的方法,且只需要很小的开销。
因为元组提供了一种非常方便和直接的方法来从函数中返回多个值,在程序不需要结构或更复杂的实现时,使用元组非常有效。如下面的简单示例所示:
var numbers = (1, 2, 3, 4, 5);
上面的代码创建了一个名为munbers的元组,其中包含成员Item1、Item2、Item3、Item4和Item5,可采用下面的方式来访问这些成员:
var number = numbers.Iteml;
如果要给这些成员指定特定的名称,可以明确地标识它们:
(int one, int two, int three, int four, int five) nums = (1, 2, 3, 4, 5);
int first = nums.one;
方法声明看起来应该如下所示:
private static (int max, int min, double average)
GetMaxMin(IEnumerable<int> numbers)
{
return (Enumerable.Max(numbers),
Enumerable.Min(numbers),
Enumerable.Average(numbers));
}
然后,在简单的控制台应用程序运行下面的代码:
static void Main(string[] args)
{
IEnumerable<int> numbers = new int [ ] { 1, 2, 3, 4, 5, 6 };
var result = GetMaxMin{numbers);
WriteLine($"Max number is {result.max}, " +
$"Min number is {result.min}, " +
$"Average is {result.average}");
ReadLine();
}
点击加载更多评论>>