Sid*_*Sid 137
你原来是什么意思?
Actualy C#7有一个非常有用的新功能,它允许您从方法返回多个值,这要归功于元组类型和元组文字.
考虑以下功能:
(string, string, string) MyCoolFunction() // tuple return type
{
//...
return (firstValue, secondValue, thirdValue);
}
Run Code Online (Sandbox Code Playgroud)
哪个可以这样使用:
var values = MyCoolFunction();
var firstValue = values.Item1;
var secondValue = values.Item2;
var thirdValue = values.Item3;
Run Code Online (Sandbox Code Playgroud)
或者通过使用解构语法
(string first, string second, string third) = MyCoolFunction();
//...
var (first, second, third) = MyCoolFunction(); //Implicitly Typed Variables
Run Code Online (Sandbox Code Playgroud)
花些时间查看文档,他们有一些非常好的例子(这个答案是基于它们的!).
use*_*943 21
你在寻找元组.这是一个例子:
static (int count, double sum) Tally(IEnumerable<double> values)
{
int count = 0;
double sum = 0.0;
foreach (var value in values)
{
count++;
sum += value;
}
return (count, sum);
}
...
var values = ...
var t = Tally(values);
Console.WriteLine($"There are {t.count} values and their sum is {t.sum}");
Run Code Online (Sandbox Code Playgroud)
从http://www.thomaslevesque.com/2016/07/25/tuples-in-c-7/偷来的例子