我在c#中有一个关于DateTime的简单问题。
我有一个文本框,我要求用户输入日期。
我想在将字符串解析为日期时间之前验证文本框是否为空,以验证日期是否格式正确。
以下是我的一些代码:
String strStartDate = txtStartDate.txt;
DateTime StartDate = DateTime.Parse(strStartDate);
我有其他名称等的文本框,我也用这样的if语句验证它们是否为空(如果strStartDate为空,则验证相同的if语句):
if (strFirstName.Trim() == "")
{
txtFirstName.BackColor = System.Drawing.Color.Yellow;
errorMessage = errorMessage + "First Name may not be empty. ";
}
else
{
txtFirstName.BackColor = System.Drawing.Color.White;
}
调试器在我尝试提交按钮后立即停止,它表示String未被识别为有效的DateTime。
在验证DateTime之前,有没有办法查看字符串是否为空?
答案 0 :(得分:2)
您也可以使用TryParse:
string SomeDate = "1/1/2012";
DateTime dt;
var success = DateTime.TryParse(SomeDate, out dt);
然后您可以检查成功是否有效。这将保护您免受任何无效日期字符串的影响,而不仅仅是空字符串或空字符串。
答案 1 :(得分:0)
String.IsNullOrEmpty会做你想做的事情