首页 > C# > C# 为什么我不能有“公共静态常量字符串 S = ”东西“;在我的class里?

C# 为什么我不能有“公共静态常量字符串 S = ”东西“;在我的class里?

上一篇 下一篇

尝试编译我的类时,出现错误:

常量不能标记为静态。'NamespaceName.ClassName.CONST_NAME'

在行:

public static const string CONST_NAME = "blah";

我可以在Java中一直这样做。我做错了什么?为什么它不让我这样做?

分割线

网友回答:

对象始终为 。conststatic

分割线

网友回答:

来自 C# 语言规范(PDF 第 287 页 – 或 PDF 的第 300 页):

尽管常量被视为
静态成员,但常量
声明既不需要也
不允许静态修饰符。

分割线

网友回答:

编译器将 const 成员视为静态成员,并暗示常量值语义,这意味着对常量的引用可能会作为常量成员的值编译到 using 代码中,而不是对成员的引用。

换句话说,包含值 10 的 const 成员可能会编译为将其用作数字 10 的代码,而不是对 const 成员的引用。

这与静态只读字段不同,静态只读字段将始终编译为对该字段的引用。

请注意,这是 JIT 之前的。当 JIT’ter 发挥作用时,它可能会将这两个作为值编译到目标代码中。

模板简介:该模板名称为【C# 为什么我不能有“公共静态常量字符串 S = ”东西“;在我的class里?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【C#】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 230次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 04-13
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
微信文章 微信公众平台 html5 响应式 微信素材 企业网站 微信模板 微信图片 自适应 单页式简历模板
您可能会喜欢的其他模板