【发布时间】:2016-12-19 13:33:45
【问题描述】:
我目前正在处理一些从 SQL 数据库中剥离出来的自动化作业。
每个作业作为'RunDays' 类型的string(nvarchar(7)) 列。
假设值为'1111111',即'SMTWTFS'(星期日、星期一、[...])。
我已经创建了这个枚举:
public enum RunDays : int
{
Sunday = 0,
Monday = 1,
Tuesday = 2,
Wednesday = 3,
Thrusday = 4,
Friday = 5,
Saturday = 6
//Maybe int is bad here cause Wednesday = 3 & Monday + Tuesday is also 3 -.-
}
但是如何转换为那个,反之亦然?
到目前为止,这是我尝试过的:
if(row["RunDays"] != DBNull.Value)
{
for(int i = 0; i < row["RunDays"].ToString().Length; i++)
{
if(int.Parse(row["RunDays"].ToString()[i].ToString()) == 1)
{
job.RunDays = job.RunDays | (RunDays)i;
}
}
}
遗憾的是,我得到的只是 'Sunday' 作为值。
我做错了什么/我错过了什么?
【问题讨论】:
-
那么没有按预期工作是什么?
-
正如问题所说:转换为枚举是问题。
标签: c# parsing enums data-conversion