由于某些原因,我无法在C#中的Switch语句中比较两个日期参数。
相同的比较在if
和else if
语句中完全正常,但在switch
中则不然。
示例:
switch (DateTime.Today.ToString())
{
case DateTime.Today.AddDays(-10) <= DateTime.Today;
}
答案 0 :(得分:2)
答案 1 :(得分:1)
您写错了开关案例,请在此处查看更多信息http://msdn.microsoft.com/en-us/library/06tc147t(v=VS.100).aspx
另请注意,switch case适用于常量,所以我认为DateTime
不能用它,你会得到编译错误
答案 2 :(得分:1)
你可以通过将它们转换为long(dateTime.Ticks)
来对DateTime值进行切换语句答案 3 :(得分:0)
C#4规范的第8.7.2节规定了可以切换的类型必须是:
sbyte
,byte
,short
,ushort
,int
,uint
,long
,ulong
,bool
,char
,string
或枚举类型,或[...]与这些类型之一对应的可空类型
或可隐式转换为其中一种类型的类型,但bool
除外。