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

C#中@符号对变量的作用?移除参数@为何仍正常运行?

C#中@符号对变量/标识符的作用

@符号在C#里是标识符转义符,主要有这几个用途:

  • 让你能用C#的保留关键字当变量/参数名:比如想定义一个叫@int或者@class的变量,直接写int或class会触发语法错误,加@就能绕开这个限制。
  • 支持带空格的标识符:像@user name这种写法,正常变量名不允许有空格,加@后就合法了(但这种写法非常不推荐,会严重降低代码可读性)。
  • 注意:@只是编译时的语法标记,编译完成后会被丢弃,也就是说@EndingID和EndingID在编译后的IL代码里是同一个标识符。

关于你那两段代码的区别

这两段代码没有任何功能上的区别,运行时表现完全一致。
你之前写的@EndingID里的@其实是多余的——因为EndingID根本不是C#的保留关键字,加不加@编译器都会把它当作普通参数名处理。这也是为什么移除@后代码依然能正常运行的原因,生产环境多年稳定运行也印证了这一点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 15:55:27