You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

关于无需声明变量的using语句使用语法的技术问询

关于C#中无需声明变量的using语法问题

好的,直接给你明确结论:不存在你期望的using new MyDisposable();这种无需声明变量的简化语法

目前C#里处理IDisposable对象的相关语法有两种形式:

  • 从C# 8.0引入的using声明语法:必须显式声明变量(哪怕是用下划线_这种占位符变量),也就是你当前使用的using var _ = new MyDisposable();写法,不存在省略变量声明的变体。
  • 传统的using语句块语法:可以不声明变量,但必须带上括号——哪怕块内没有任何代码,比如写成using (new MyDisposable()) { },或者更紧凑的using (new MyDisposable());(注意末尾的分号)。但这种写法依然需要括号,和你想要的无变量、无括号的简洁写法并不一致。

总结来说,你设想的using new MyDisposable();这种语法在C#中是不存在的,要么用带占位符变量的using声明,要么用带括号的空using语句块。

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

火山引擎 最新活动