从VB.NET到C#的DateTime.DayOfWeek翻译

dar*_*dog 0 .net c# vb.net enums

我在这里有一个简单的vb.net代码片段:

While pStartDay.DayOfWeek <> 1
    pStartDay = pStartDay.AddDays(-1)
End While

While pEndDay.DayOfWeek <> 0
    pEndDay = pEndDay.AddDays(1)
End While
Run Code Online (Sandbox Code Playgroud)

我想把它翻译成C#.

在vb.net中,我可以将DayOfWeek与整数进行比较.在c#中,这似乎是不可能的.

我只能将它与枚举本身进行比较.

例如:

        while (endDay.DayOfWeek != DayOfWeek.Sunday)
        {

        }
Run Code Online (Sandbox Code Playgroud)

现在我不确定哪个DayOfWeek是0,哪个是1. 0可能是星期一或星期天.

1可以是星期一或星期二或其他什么..

任何人都可以帮助我并告诉我如何找出DayOfWeek的哪个枚举位置为0,哪个是哪一个?

Mat*_*int 5

回答你的部分问题:

现在我不确定哪个DayOfWeek是0,哪个是1 ...

来自MSDN文档

...此枚举中常量的值范围DayOfWeek.SundayDayOfWeek.Saturday.如果强制转换为整数,则其值的范围从零(表示DayOfWeek.Sunday)到六(表示DayOfWeek.Saturday).

这就是使用枚举开始的重点.你应该坚持使用你展示的代码:

while (endDay.DayOfWeek != DayOfWeek.Sunday)
Run Code Online (Sandbox Code Playgroud)