Regex.Match() 是否有可能为 return null? (C# .Net 框架 3.5?)
Is it possible for Regex.Match() to return null? (C# .Net framework 3.5?)
下面(大大简化的)代码中的 regex.Match 是否有可能 return 为空?
Regex regex = new Regex(pattern);
Match m = regex.Match(input);
我的静态分析工具抱怨没有对 m 进行空检查,但我认为这实际上没有必要。最好删除空检查,这样我的代码覆盖率对于它包含的方法是 100%。
想法?
查尔斯.
Documentation 是你的朋友:
Return Value
Type: System.Text.RegularExpressions.Match
An object that contains information about the match.
Microsoft 告诉您它只会 return 一个 Match
对象(而不是 null
),这意味着您可以正确地假设这是真的。
不过,根据文档,它有可能抛出异常 (ArgumentNullException
or RegexMatchTimeoutException
)。
您要检查的是 returned Match
的 Success
属性.
下面(大大简化的)代码中的 regex.Match 是否有可能 return 为空?
Regex regex = new Regex(pattern);
Match m = regex.Match(input);
我的静态分析工具抱怨没有对 m 进行空检查,但我认为这实际上没有必要。最好删除空检查,这样我的代码覆盖率对于它包含的方法是 100%。
想法?
查尔斯.
Documentation 是你的朋友:
Return Value
Type: System.Text.RegularExpressions.Match
An object that contains information about the match.
Microsoft 告诉您它只会 return 一个 Match
对象(而不是 null
),这意味着您可以正确地假设这是真的。
不过,根据文档,它有可能抛出异常 (ArgumentNullException
or RegexMatchTimeoutException
)。
您要检查的是 returned Match
的 Success
属性.