You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中多变量元组式赋值语法的名称及工作原理是什么?

关于C#中构造器多变量赋值语法的说明

嗨,这个语法是C# 7.0及以后版本官方支持的特性,它的核心是元组解构赋值,结合了C# 6.0引入的构造器主体表达式(也就是用=>替代传统{}单行构造逻辑的写法),并不是什么“模拟元组的技巧”,有明确的语言特性支持。

具体工作原理拆解:

  • 构造器主体表达式:
    开头的public NewsStoryViewModel(...) => ... 是C# 6.0就有的语法,当构造器逻辑只有单行时,可以用箭头语法替代传统的大括号代码块,让代码更简洁。
  • 元组解构赋值:
    关键的(Published, Title, Uri) = (published, title, uri); 这行是C# 7.0新增的解构特性:
    1. 右边的(published, title, uri) 会创建一个临时的匿名元组,包含三个传入的参数值;
    2. 左边的(Published, Title, Uri) 是对类的成员(属性或字段)的解构目标,编译器会自动将元组的每个元素按顺序赋值给对应的类成员;
    3. 编译器最终会将这段代码转换成等价的传统赋值逻辑:
      public NewsStoryViewModel(DateTimeOffset published, string title, string uri)
      {
          Published = published;
          Title = title;
          Uri = uri;
      }
      

补充说明:

这种写法的优势在于,当类需要初始化的成员较多时,能显著减少重复的赋值代码,让构造器逻辑更紧凑易读。只要类的成员是可赋值的(比如公共属性、内部字段等),就可以用这种方式完成批量初始化。

内容的提问来源于stack exchange,提问作者Ilya Chernomordik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:00:19