一位队友告诉我,在C#7.0中,它本身可以从函数中返回多个值。任何人都能提供一些例子吗?感谢
答案 0 :(得分:115)
原生是什么意思?
Actualy C#7有一个非常有用的新功能,通过元组类型和元组文字,您可以从方法返回多个值。
考虑以下功能:
(string, string, string) MyCoolFunction() // tuple return type
{
//...
return (firstValue, secondValue, thirdValue);
}
可以这样使用:
var values = MyCoolFunction();
var firstValue = values.Item1;
var secondValue = values.Item2;
var thirdValue = values.Item3;
或者使用解构语法
(string first, string second, string third) = MyCoolFunction();
//...
var (first, second, third) = MyCoolFunction(); //Implicitly Typed Variables
花一些时间查看Documentation,他们有一些非常好的例子(这个答案是基于他们的!)。
答案 1 :(得分:20)
您正在寻找元组。这是一个例子:
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="text"
android:text="Search"
android:ems="10"
android:id="@+id/SearchText"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<Button
android:text="Search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:id="@+id/button2" />
中窃取的示例
答案 2 :(得分:0)
你也可以这样实现:
public class Program
{
public static void Main(string[] args)
{
var values=GetNumbers(6,2);
Console.Write(values);
}
static KeyValuePair<int,int> GetNumbers(int x,int y)
{
return new KeyValuePair<int,int>(x,y);
}
}