这段代码是我正在尝试做的简化版本:
string day = Thursday;
DateTime dt = DateTime.Now;
if (day == dt.DayOfWeek)
{
// start the program
}
Run Code Online (Sandbox Code Playgroud)
我需要从数据库中读取星期值,将其分配给字符串,然后将字符串与dt.DayOfWeek进行比较以检查程序是否应该执行.
我的错误是:"运算符'=='不能应用于'string'和'System.DayOfWeek'类型的操作数
任何人都知道如何比较字符串与DateTime.DayOfWeek值?
Ale*_*kov 11
最简单的方法是将枚举转换为字符串:
if (day == dt.DayOfWeek.ToString())...
Run Code Online (Sandbox Code Playgroud)
笔记:
day来DayOfWeek枚举可以避开字符串比较(及其相关的本地化/比较问题).DayOfWeek.Thursday)并使用相应的String.Equals方法.Parse如其他答案所示:((DayOfWeek)Enum.Parse(typeof(DayOfWeek), day) McG*_*gle 11
使用Enum.Parse来获取枚举值:
if ((DayOfWeek)Enum.Parse(typeof(DayOfWeek), day) == dt.DayOfWeek)
Run Code Online (Sandbox Code Playgroud)
如果你不确定它是否是有效值,那么TryParse<T>:
Enum val;
if (Enum.TryParse<DayOfWeek>(day, out val) && val == dt.DayOfWeek)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16507 次 |
| 最近记录: |