我有一个大型的C#类,里面充满了无非是public const string
字段。然而,在某些情况下,我正试图将一个字符串和枚举值连接成一个const string
字段,就像这样:
public const string GET_VALUES = "SELECT * FROM [tbl] WHERE [id] = " + Enum.Val;
然而,我遇到了这个编译器错误:
'Namespace.SqlStatements.GET_VALUES' must be constant
我知道我可以省略 const
关键字,但我想让这个类中的所有字段保持一致。在 C# 中能否将一个常量字符串和一个枚举拼接起来?
public readonly
...您不能使用const
,因为常量字符串必须在编译时就已知。将枚举值与字符串连接需要将该枚举值转换为字符串--这是在运行程序期间而不是在编译期间发生的事情。 - user2819245readonly
就是可行的方式。 - Oliver Sprynconst
... - user2819245