作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我总是对应该使用哪种枚举感到困惑。哈希表、枚举、结构、字典、数组(多么老派)、静态字符串...
我不想在我的代码中使用字符串,而是像这样使用一个漂亮的枚举:
public enum MyConfigs
{
Configuration1,
Configuration2
}
问题是我并不总是想转换我的枚举 toString()
,因为我对 enum
的索引表示不感兴趣。
表示基于字符串的值的公共(public)枚举的最佳方式是什么?
最后,我很乐意在我的代码中需要的地方使用 MyConfigs.Configuration1
。
最佳答案
我更喜欢将“分组”常量定义为虚拟静态类的静态成员,如下所示:
public static class FieldNames
{
public const string BRANCH_CODE = "_frsBranchCode";
public const string BATCH_ID = "_frsBatchId";
public const string OFFICE_TYPE = "_frsOfficeType";
}
但是当然它们不能直接“枚举”,所以除非你也提供一个静态数组,否则你不能对它们进行 foreach:
public static string[] AllFieldNames
{
get
{
return new string[]
{
FieldNames.BRANCH_CODE,
FieldNames.BATCH_ID,
FieldNames.OFFICE_TYPE
};
}
}
关于c# - 只有字符串值的公共(public)枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7684641/
我是一名优秀的程序员,十分优秀!