[英]DateTime.DayOfWeek translation from VB.NET to C#
我在這里有一個簡單的vb.net代碼段:
While pStartDay.DayOfWeek <> 1
pStartDay = pStartDay.AddDays(-1)
End While
While pEndDay.DayOfWeek <> 0
pEndDay = pEndDay.AddDays(1)
End While
我想將其翻譯為C#。
在vb.net中,我可以將DayOfWeek與一個整數進行比較。 在c#中,這似乎是不可能的。
我只能將它與枚舉本身進行比較。
例如:
while (endDay.DayOfWeek != DayOfWeek.Sunday)
{
}
現在我不確定哪個DayOfWeek是0,哪個是1。0可能是星期一或星期日。
1可以是星期一或星期二,等等。
誰能幫助我,告訴我如何找出DayOfWeek的哪個枚舉位置為0,哪個為1?
要回答您的問題部分:
現在我不確定哪個DayOfWeek為0和哪個為1 ...
來自MSDN文檔
...此枚舉中常量的值范圍從
DayOfWeek.Sunday
到DayOfWeek.Saturday
。 如果將其轉換為整數,則其值的范圍從零(指示DayOfWeek.Sunday
)到六(指示DayOfWeek.Saturday
)。
這就是使用枚舉開始的意義所在。 您應該堅持使用顯示的代碼:
while (endDay.DayOfWeek != DayOfWeek.Sunday)
您可以將枚舉轉換為整數以實現此目的。
while ((int)pStartDay.DayOfWeek != 1)
Console.WriteLine("Day 0 is: " + (DayOfWeek)0);
嘗試這個:
while (pStartDay.DayOfWeek != 1) {
pStartDay = pStartDay.AddDays(-1);
}
while (pEndDay.DayOfWeek != 0) {
pEndDay = pEndDay.AddDays(1);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.