📅  最后修改于: 2023-12-03 15:30:19.222000             🧑  作者: Mango
在C# 7.0及以上版本中,Microsoft推出了ValueTuple(值元组)结构。它是一种类型,用于组织并返回多个不同类型的值,类似于Tuple和匿名类型,但与它们不同的是,ValueTuple是一个值类型,具有更好的性能和内存效率。
通过以下方式,我们可以创建一个ValueTuple:
ValueTuple<int, string> valueTuple = (1, "hello world");
或者也可以这么写:
var valueTuple = (1, "hello world");
在ValueTuple中,我们使用括号来指定它的值,这些值可以是任何类型。
我们可以通过解构语法使用ValueTuple各项的值:
var valueTuple = (1, "hello world");
(int myInt, string myString) = valueTuple;
在上面的代码中,我们将ValueTuple中的第一项值分配给名为myInt的变量,将第二项值分配给名为myString的变量。
与匿名类型不同,ValueTuple可以用作函数的返回类型。在C#中,函数只能返回一个对象,但是通过ValueTuple,我们可以返回多个对象:
public static (int, string) GetValues()
{
return (1, "hello world");
}
ValueTuple具有以下优势:
ValueTuple是C#中的重要结构,可以帮助程序员组织并返回多个不同类型的值。它比Tuple更有效,占用更少的内存,并易于创建,解构和使用。