c# - 具有多个值的枚举
问题描述
在我的模型中,我有这个代码
public enum StockStatus
{
Origin= 1,
[Display(Name = "In Transit")]
InTransit = 5,
[Display(Name = "Port Louis")]
PortLouis = 6,
Yard = 7,
Requested = 8
}
我需要能够为 Origin 设置多个值,如下所示
public enum StockStatus
{
Origin= 1,2,3,4,
[Display(Name = "In Transit")]
InTransit = 5,
[Display(Name = "Port Louis")]
PortLouis = 6,
Yard = 7,
Requested = 8
}
我知道这不好,但我需要能够这样做
解决方案
您需要将枚举作为标志,并且该值必须是按位唯一的(2 的幂)。
[Flags]
public enum MyEnum
{
Origin= no1 | no2 | no3 | no4,
no1 = 1,
no2 = 1 << 1,
no3 = 1 << 2,
no4 = 1 << 3,
[Display(Name = "In Transit")]
InTransit = 1 << 4,
[Display(Name = "Port Louis")]
PortLouis = 1 << 5,
Yard = 1 << 6,
Requested = 1 << 7
}
推荐阅读
- javascript - 解析错误:保留关键字“类”
- webpack - laravel mix node_modules css-loader中的错误
- c# - WPF Datagrid - 突出显示数据更改行
- sql - 参考另一列更新列
- python - Trying to make a text/password manager
- php - Ger 用户 IPv4 地址通过 cloudflare 和 azure
- java - 如何避免macos中的断字符串类错误?
- jquery - 从对象数组中以特定方式显示表格
- php - 我该如何解决这个原始查询
- google-sheets - 在 GoogleFinance 中,我应该使用什么公式从特定日期获得股票的 1 周回报、2 周回报等等?