尝试检查用户何时输入的日期大于今天的日期,以便我可以抛出一个消息框来显示错误并抓住它。我一直在尝试下面的代码,但它说我不能使用运算符来检查。任何帮助将不胜感激。
DateTime check;
bool checker = false;
if (DateTime.TryParse(dpDate.Text, out check) < DateTime.Now)
{
checker = true;
}
答案 0 :(得分:4)
DateTime.TryParse
会返回一个bool,表示解析成功/不成功,修改你的支票,如:
if (DateTime.TryParse(dpDate.Text, out check) && check < DateTime.Now)
答案 1 :(得分:3)
TryParse
返回一个bool值,指示解析是否成功,您无法将其与日期时间进行比较。你应该这样做
DateTime check;
bool checker = false;
bool valid = DateTime.TryParse(dpDate.Text, out check);
if (valid && (check < DateTime.Now))
{
checker = true;
}
答案 2 :(得分:2)
DateTime.TryParse
返回boolean
值。
因此,在if语句中,您尝试将boolean
值(true
或false
)与DateTime
进行比较。你不能这样做。
您应首先将check
和DateTime.Now
与<
进行比较,然后使用&&
(条件AND),结果为DateTime.TryParse
作为Habib mentioned
由于<
运算符的优先级高于&&
运算符,因此您不必使用任何括号。