代码检查:可能的 'System.InvalidOperationException'
在将 可空类型的变量转换为其基础类型之前,您应确保该值不为 null。 在下面的示例中,我们有一个可空的 double x ,如果 x 为 null,则表达式 (double)x 将抛出异常。
JetBrains Rider 建议检查是否为 null:
public void Method(double? x)
{
var y = (double)x;
Console.WriteLine(y);
}
public void Method(double? x)
{
if (x != null)
{
var y = (double)x;
Console.WriteLine(y);
}
}
或者,JetBrains Rider 可以添加断言以确保表达式不为 null:
public void Method(double? x)
{
var y = (double)x;
Console.WriteLine(x);
}
public void Method(double? x)
{
Debug.Assert(x != null, "x != null");
var y = (double)x;
Console.WriteLine(x);
}
最后修改日期: 2025年 9月 26日