C# DateTime DayOfWeek比较

C# DateTime DayOfWeek比较,c#,.net,datetime,C#,.net,Datetime,我想比较一个日期,看看它是否在星期六之前,就像这样: //Check if Saturday YET if (MYWorkDay.DayOfWeek < DateTime.DayOfWeek.Saturday) IGottaWork(); else Party(); //检查星期六是否有空 如果(MYWorkDay.DayOfWeek0)和&(MYWorkDay.DayOfWeek.Compa

我想比较一个日期,看看它是否在星期六之前,就像这样:

        //Check if Saturday YET
        if (MYWorkDay.DayOfWeek < DateTime.DayOfWeek.Saturday)
            IGottaWork();
        else
            Party();
//检查星期六是否有空
如果(MYWorkDay.DayOfWeek
似乎没有办法做到这一点

有办法吗

提前谢谢

为什么不呢

    if (MYWorkDay.DayOfWeek != DayOfWeek.Saturday
          && MYWorkDay.DayOfWeek != DayOfWeek.Sunday) 
    {
        IGottaWork();
    }
    else
        Party();
或者更好:

List<DayOfWeek> partyDays = new List<DayOfWeek> {
    DayOfWeek.Saturday, DayOfWeek.Sunday
};

if (partyDays.Contains(MYWorkDay.DayOfWeek))
    Party();
else
    IGottaWork();
List partyDays=新列表{
星期六,星期六,星期天,星期天
};
if(partyDays.Contains(MYWorkDay.DayOfWeek))
一方();
其他的
IGottaWork();
试试这个:

if (new [] {DayOfWeek.Saturday, DayOfWeek.Sunday}.Contains(d.DayOfWeek)) {
  // party :D
} else {
  // work  D:
}

DayOfWeek是一个枚举,以星期日为0,星期六为最后一个元素,因此整数为6。比较时请考虑这一点。

如果您希望进行比较而不是检查列表,您也可以这样做:

if ((MYWorkDay.DayOfWeek.CompareTo(DayOfWeek.Sunday) > 0) && (MYWorkDay.DayOfWeek.CompareTo(DayOfWeek.Saturday) < 0))
{
      IGottaWork();
}
else
{
      Party();
}
if((MYWorkDay.DayOfWeek.CompareTo(DayOfWeek.Sunday)>0)和&(MYWorkDay.DayOfWeek.CompareTo(DayOfWeek.周六)<0))
{
IGottaWork();
}
其他的
{
一方();
}
来自MSDN:

DayOfWeek枚举中常量的值范围为 星期天。星期天到星期六。如果强制转换为整数,则其 值的范围从零(表示星期天)到六 (表示星期六,星期五)

因此,您还可以使用大于和小于运算符进行计算

//Check if Saturday YET
if (MYWorkDay.DayOfWeek < DayOfWeek.Saturday && MYWorkDay.DayOfWeek > DayOfWeek.Sunday)
    IGottaWork();
else
    Party();
//检查星期六是否有空
如果(MYWorkDay.DayOfWeekDayOfWeek.周日)
IGottaWork();
其他的
一方();

您不能转换为int并进行比较吗?我知道我做错了什么。我不需要在星期一之前约会。愚蠢的我:)谢谢你的帮助,我刚刚在我的博客上发布了两个我最喜欢的自定义扩展方法。有时我觉得我花了太多时间试图让我的代码看起来像一个文档。真奇怪。。。在“编辑历史记录”中,它显示我正在编辑DayOfWeek的内容。。。我在编辑过程中所做的只是将| |更改为&。@Josh-这是因为我在编辑我的逻辑错误之前编辑了我的答案以删除它们。完美的编辑风暴!:)如果您有兴趣以更快的方式检索一周中的某一天: