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

Visual Studio 2019调试器中C# struct成员变量前的@前缀是什么含义?

@前缀的具体含义

你在调试界面看到的@是C#的逐字标识符标记,出现这个前缀的核心原因是你自定义的struct命名为Attribute,和.NET 基类库中内置的System.Attribute(所有特性类的基类)名称完全重合,VS调试器为了避免解析时出现命名歧义,自动添加了这个前缀做区分,明确标识此处的Attribute是你自定义的类型,而非系统内置类型。

补充说明

  • 这个前缀仅为调试器的展示逻辑,不会对你的代码实际运行、JSON反序列化结果产生任何影响
  • 如果不需要看到这个前缀,只需要将你的自定义struct重命名为不与系统内置类型重名的名称即可,比如JsonParseAttribute、CustomAttribute等
  • 该行为属于VS调试器的有意设计,并非功能bug

你给出的struct定义代码如下:

public struct Attribute
{
    public string keyword { get; init; }
    public string[] path { get; init; }
    public string type { get; init; }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 05:45:02