回答
甲case
語句必須是一個編譯時間常數(C# spec and example):
每個案例標籤指定的恆定值。
不幸的是,您將無法使用switch
來比較DateTime
。這是醜陋的,但在這裏使用if
是更好的選擇。
你的語句表明'case default(DateTime):'應該工作,因爲'default(DateTime)'是一個編譯時常量,但它不起作用。 – svick 2011-05-14 00:04:37
謝謝。會選擇這個答案。 – lakdsla 2011-05-14 00:06:11
我不認爲默認(DateTime)是編譯時間常量。 AFAIK它實現爲DateTime.MinValue,這是一個靜態常量。 – YetAnotherUser 2011-05-14 00:23:38
你寫開關的情況下錯誤,請檢查在這裏更多信息http://msdn.microsoft.com/en-us/library/06tc147t(v=VS.100).aspx
還要注意開關的情況下,所以我認爲DateTime
不會使用它適用於常量,U將得到編譯錯誤
8.7節的C#4規範的0.2規定在其上有可能切換類型必須是:
sbyte
,byte
,short
,ushort
,int
,uint
,long
,ulong
,bool
,char
,string
,或枚舉類型,或[...]對應於這些類型的
或一種類型的隱式轉換爲其中的一箇中的一個空類型類型,除了bool
。
,你可以將它們轉換爲長(dateTime.Ticks)
- 1. 比較switch語句中的數字
- 2. 比較R switch語句
- 3. 在SQL語句中比較日期
- 4. .NET C#switch語句字符串比較與枚舉比較
- 5. switch語句比
- 6. 在C中比較日期#
- 7. 在C++中比較日期
- 8. 如何用where語句比較日期?
- 9. 與if語句的日期比較
- 10. 比較日期到if語句
- 11. C# - 語句在switch語句中
- 12. c switch語句
- 13. c#,比較日期
- 14. c#比較日期時間日期與時間跨度參數
- 15. Swift:在switch語句中使用比較運算符
- 16. 在JavaScript switch語句中進行嚴格比較是否安全?
- 17. ActionScript - 在switch語句中使用「is」比較?
- 18. 可能使用switch語句在PHP中比較字符串?
- 19. 使用比較參數if語句
- 20. 在sql插入語句中比較日期
- 21. C++ INT switch語句
- 22. C++中的switch語句
- 23. switch語句中的switch語句?
- 24. 如何在linq c中比較日期#
- 25. objective c - Break語句不在循環語句或switch語句中
- 26. 比較兩個日期參數
- 27. C - 作爲switch語句中的函數參數
- 28. PostgreSQL和C++ - 比較日期
- 29. ASP.NET C#日期比較
- 30. iphone,objective c - 日期比較
您想查看交換機的語法,因爲你不使用它類似的東西它是專爲做DateTime值switch語句。大小寫以冒號結尾,而不是分號,並且您在switch()中使用了ToString(),因此這些個案必須全部是字符串,也就是說,「5/13/2011 6:25 PM」就是Today.ToString()會做的事情。 – 2011-05-14 00:25:17