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;
  }

}
复制代码

 

posted @   派大没有星  阅读(61)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示