C# 如何检查TimeSpan.ParseExact是否为真
我想检查时间跨度字符串的正确格式C# 如何检查TimeSpan.ParseExact是否为真,c#,timespan,C#,Timespan,我想检查时间跨度字符串的正确格式 intervalString = "23:54:00"; format = "hh\\:mm\\:ss"; culture = CultureInfo.CurrentCulture; var reded= TimeSpan.ParseExact(intervalString, "hh\\:mm\\:ss", CultureInfo.InvariantCulture); 结果是23:54:00 如果我尝试intervalString=28:54:00;我有个例
intervalString = "23:54:00";
format = "hh\\:mm\\:ss";
culture = CultureInfo.CurrentCulture;
var reded= TimeSpan.ParseExact(intervalString, "hh\\:mm\\:ss", CultureInfo.InvariantCulture);
结果是23:54:00
如果我尝试intervalString=28:54:00;我有个例外。
我如何检查它是否失败并毫无例外地继续我的代码?改用TimeSpan.TryParseExact。它将返回一个bool值,指示该值是否已成功解析
TimeSpan reded;
bool success = TimeSpan.TryParseExact(intervalString, "hh\\:mm\\:ss",
CultureInfo.InvariantCulture, out reded);
仅使用专为这种特殊情况设计的:
var isParsed = TimeSpan.TryParseExact(
intervalString,
"hh\\:mm\\:ss",
CultureInfo.InvariantCulture
out TimeSpan reded // it's your parsed value
);
// use reded if isParsed == true
使用TryParseExact-它正是为了这个目的而设计的。顺便说一下,不清楚为什么要用wpf标记它-它确实不是wpf特有的。