读取一个位域(用于选定的日期)并在 C# 中确定它的值
Reading a bitfield (used for Selected Days) and determining values from it in c#
我的数据库中有一个名为 SelectedDays 的 int 类型的列。我决定采用位方法:
sun=1, mon=2, tue=4, wed=8, thu=16, fri=32, sat=64
如果用户选择星期日、星期一、星期三,则该字段中的值将为 11
在我的 C# 模型中,我试图创建一个只读 属性:
public List<string> Days
这将 return 以字符串格式列出所选日期。
我不知道如何从 11 到 "Sunday"、"Monday"、"Wednesday"
int valueFromDb = 11;
var result = Enum.GetNames(typeof(WeekDays))
.Where(x => (valueFromDb & (int)Enum.Parse(typeof(WeekDays), x)) > 0)
.ToList();
你可以这样做。 Full example
我的数据库中有一个名为 SelectedDays 的 int 类型的列。我决定采用位方法:
sun=1, mon=2, tue=4, wed=8, thu=16, fri=32, sat=64
如果用户选择星期日、星期一、星期三,则该字段中的值将为 11
在我的 C# 模型中,我试图创建一个只读 属性:
public List<string> Days
这将 return 以字符串格式列出所选日期。
我不知道如何从 11 到 "Sunday"、"Monday"、"Wednesday"
int valueFromDb = 11;
var result = Enum.GetNames(typeof(WeekDays))
.Where(x => (valueFromDb & (int)Enum.Parse(typeof(WeekDays), x)) > 0)
.ToList();
你可以这样做。 Full example