一、解构的目的:
将一个对象分割成若干部分并将其存储到新的变量中。
在C#中,解构可以方便地一次性将一个对象的多个成员的值存储到多个变量中。
二、解构元组
元组为方法返回多个值提供了便捷,无需创建额外的类型来承载返回的值。例如,下面这个方法使用元组返回两个值:
public static (string,string,int) GetPerson()
{
var firstName = "Liam";
var lastName = "Wang";
var age = 18;
return(firstName,lastName,age);
}
对于检索这个方法返回元组的各成员,如果不使用解构,我们可能需要这样写:
var person = GetPerson();
var firstName = person.Item1;
var lastName = person.Item2;
var age = person.Item3;
使用解构,则可以一次性将元组的各成员分别赋值给不同的变量,可以这样写:
(string firstName,string lastName,int age) = GetPerson();
//firstName = "Liam"
//lastName = "Wang"
//age = 18
也可以使用var
自动推断各个变量的类型:
var(firstName,lastName,age) = GetPerson();
//firstName = "Liam"
//lastName = "Wang"
//age = 18
转载源自于https://zhuanlan.zhihu.com/p/402907599