【发布时间】:2015-03-27 20:46:04
【问题描述】:
我正在使用一个旧的(>15 年)系统,该系统使用 char[] 数组存储属性,如果索引有一个“X”,则该属性被激活。我已经做了很多来转换它:
...
[Flags]
public enum PDMObjectFlags {
None = 0, // 000000
OptionA = 1, // 000001
OptionB = 2, // 000010
OptionC = 4, // 000100
OptionD = 8, // 001000
OptionE = 16, // 010000
OptionF = 32 // 100000
}
...
string userOptionsStr = " XXX"; // " XXX"
string userOptionsBin = userOptions
.Replace('X', '1')
.Replace(' ', '0'); // "000111"
int userOptionsInt =
Convert.ToInt32(userOptionsBin, 2); // 7
我怎样才能得到可以显示所有特定用户属性的东西?像这样的:
foreach (var x in userOptionsList){
Console.Write("John's account has " + x);
}
// Output:
//
// John's account has OptionA
// John's account has OptionB
// John's account has OptionC
对不起,如果这个例子是愚蠢的,我只是在这里打出来的。它最终会与模型一起传递到 Razor View 并在页面上迭代。
谢谢!
【问题讨论】:
标签: c# asp.net-mvc razor enums bitmask