我想知道为什么代码分析规则CA1305 - 指定 IFormatProvider不适用于 TryParse 方法?
例如,使用“Microsoft 所有规则”规则集,代码分析会针对以下代码发出 CA1305 警告:
static void Main(string[] args)
{
string text = args[0];
double value = double.Parse(text);
}
但不针对以下代码给出 CA1305 警告:
static void Main(string[] args)
{
string text = args[0];
double value;
if (!double.TryParse(text, out value))
value = 0;
}
我发现这很不幸,因为如果输入字符串不可靠,TryParse 方法是进行解析的正确方法。
有谁知道 TryParse 方法的 CA1305 规则是在某些较新版本的代码分析工具中还是由某个第 3 方实现的?