📜  解压 c# tuple - C# (1)

📅  最后修改于: 2023-12-03 15:41:35.390000             🧑  作者: Mango

解压 C# Tuple

如果您在C#中使用元组(tuple),可能会遇到需要将元组解包成单独的变量的情况。在本文中,我们将介绍如何在C#中解压元组。

对C#元组解压的需求

C#元组是一种组合类型,允许您把多个不同的数据类型组合成一个返回值。在某些情况下,您可能想要访问元组中的单个值,或者将其绑定到不同的变量。这就需要元组解压缩。

解压元组的方法
方法1: 手动解压元组

要手动解压元组值,您可以访问元组中的单个值,并将其分配到不同的变量中。以下是一个例子:

var myTuple = (3, "hello", true);
int myInt = myTuple.Item1;
string myString = myTuple.Item2;
bool myBool = myTuple.Item3;

这将使用元素编号访问元组中的每个值,并将其分配给单独的变量中。

方法2: 使用元组分配语法

C# 7及更高版本引入了元组分配语法。使用元组分配运算符(:=)可以将元组值的不同部分绑定到不同的变量上。以下是一个例子:

var myTuple = (3, "hello", true);
(int myInt, string myString, bool myBool) = myTuple;

这将将元组值的不同部分分配给不同的变量。请注意,您可以使用任何名称。

方法3: 混合解压

您可以使用此方法以任何顺序访问元组元素并将它们分配到变量中。以下是一个例子:

var myTuple = (3, "hello", true);
(bool myBool, _, int myInt) = myTuple;

这样,元素2("hello")将不会分配给变量,而是用下划线占位符“_”来忽略它。元素1和元素3将进行重新排序并分配给两个变量。

结论

元组解压是在C#中使用元组的常见需求。可以手动访问元组中的单个值,或使用元组分配语法将多个元组值的不同部分绑定到单独的变量。您还可以混合解压以按任意顺序访问变量。