C#-结构函数Construct语法糖
C#7.0新增的解构函数语法糖
1.解析元组
(var name,var age)=GetUser(); var name; int age; (name,age)=GetUser(); public static (string name,int age) GetUser() { return ("Kevin",1); }
2.解构对象
class User { public string Name; public int Age; public string Sex; //需要在class里面添加一个解构函数Deconstruct //解构函数支持重载,但不支持相同数量参数的重载 public void Deconstruct(out string name,out int age) { name=Name; age=Age; } //不支持,参数类型不一致也不支持 //因为(var name,var age)=GetUser()时无法推断变量age的类型 public void Deconstruct(out string name,out string sex) { name=Name; sex=Sex; } //支持 public void Deconstruct(out string name,out int age,out string sex) { name=Name; age=Age; sex=Sex; } }