ReSharper 2025.2 Help

代码检查:可能的 'System.InvalidOperationException'

在将 可空类型的变量转换为其基础类型之前,您应确保该值不为 null。 在下面的示例中,我们有一个可空的 double x ,如果 x 为 null,则表达式 (double)x 将抛出异常。

ReSharper 建议检查是否为 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); } }

或者,ReSharper 可以添加断言以确保表达式不为 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月 27日