gpt4 book ai didi

C#:DateTime.DayOfWeek 与字符串比较

转载 作者:太空狗 更新时间:2023-10-29 18:03:25 25 4
gpt4 key购买 nike

这段代码是我正在尝试做的事情的简化版本:

string day = Thursday;
DateTime dt = DateTime.Now;

if (day == dt.DayOfWeek)
{
// start the program
}

我需要从数据库中读取星期几的值,将其分配给一个字符串,然后将该字符串与 dt.DayOfWeek 进行比较以检查程序是否应该执行。

我的错误是这样的:“运算符‘==’不能应用于‘string’和‘System.DayOfWeek’类型的操作数”

有人知道如何将字符串与 DateTime.DayOfWeek 值进行比较吗?

最佳答案

最简单的是将枚举转换为字符串:

if (day == dt.DayOfWeek.ToString())...

注意事项:

  • 如果您可以将 day 的类型更改为 DayOfWeek 枚举,则可以避免字符串比较(及其相关的本地化/比较问题)。
  • 如果您必须使用字符串,请务必确定大小写是否重要(即“星期四”是否应等于 DayOfWeek.Thursday)并使用相应的 String.Equals 方法。
  • 考虑按照其他答案中的建议使用 Parse 将字符串转换为枚举:((DayOfWeek)Enum.Parse(typeof(DayOfWeek), day)
  • 确保传入的字符串始终是英语 - 如果它可能是其他语言,您将需要研究手动匹配值与 CultureInfo.DateTimeFormat.DayNames 中提供的值.

关于C#:DateTime.DayOfWeek 与字符串比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13713366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com