gpt4 book ai didi

c# - 字符串常量类应该是静态的吗?

转载 作者:可可西里 更新时间:2023-11-01 03:04:36 28 4
gpt4 key购买 nike

我正在从事一个新项目,我注意到一些我不确定是否真实的代码。我用来证明问题的名称和值是假的。

public class MyConsts //Should it be static?
{
public const string MyConst1 = "a";
public const string MyConst2 = "b";
public const string MyConst3 = "c";
public const string MyConst4 = "d";
....
}

按照我的逻辑,这个类(只包含常量值)应该是静态的,所以没有选项可以初始化它,这没有任何意义,我说得对吗?

编辑:我在盲目编写代码,所以我混淆了 string 和 const 的顺序 - 因为这不是我问题的目标,所以我已经解决了这个问题。

最佳答案

是的,它是静态的是有道理的。这表示您的意图,甚至阻止客户声明该类型的变量等。

尽管如此,您需要将 const 修饰符移到类型部分之前:

public const string MyConst1 = "a";
...

如果值可能会改变,请考虑使用 public static readonly 字段而不是 const - 否则该值将被烘焙到任何引用常量的代码中,这意味着如果值发生变化,您需要重建任何客户端代码。

(另一种选择是使常量成为internal 而不是public。)

关于c# - 字符串常量类应该是静态的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19687647/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com