Jul*_*les 7 c# string validation time
是否有可能检查字符串是否处于有效的时间格式?
Examples:
12:33:25 --> valid
03:04:05 --> valid
3:4:5 --> valid
25:60:60 --> invalid
Run Code Online (Sandbox Code Playgroud)
msm*_*cic 15
可以为字符串时间格式验证的目的编写附加方法.TimeSpan结构有一个TryParse方法,它会尝试解析一个字符串,TimeSpan并返回解析的结果(无论是否成功).
正常方法:
public bool IsValidTimeFormat(string input)
{
TimeSpan dummyOutput;
return TimeSpan.TryParse(input, out dummyOutput);
}
Run Code Online (Sandbox Code Playgroud)
扩展方法(必须在单独的非泛型静态类中):
public static class DateTimeExtensions
{
public static bool IsValidTimeFormat(this string input)
{
TimeSpan dummyOutput;
return TimeSpan.TryParse(input, out dummyOutput);
}
}
Run Code Online (Sandbox Code Playgroud)
调用现有的方法string input; (让我们想象它是用一些值初始化的).
正常方法:
var isValid = IsValidTimeFormat(input);
扩展方法:
var isValid = DateTimeExtensions.IsValidTimeFormat(input);
要么
var isValid = input.IsValidTimeFormat();
更新:.NET Framework 4.7
自.NET Framework 4.7发布以来,它可以编写得更清晰,因为现在可以在方法调用中声明输出参数.方法调用保持与以前相同.
正常方法:
public bool IsValidTimeFormat(string input)
{
return TimeSpan.TryParse(input, out var dummyOutput);
}
Run Code Online (Sandbox Code Playgroud)
扩展方法(必须在单独的非泛型静态类中):
public static class DateTimeExtensions
{
public static bool IsValidTimeFormat(this string input)
{
return TimeSpan.TryParse(input, out var dummyOutput);
}
}
Run Code Online (Sandbox Code Playgroud)