在 null 合并运算符中检查 null
Check for null inside null-coalescing operator
我正在使用 Resharper,通常那个东西会在我的代码部分下划线,这些代码可能会抛出空引用异常。但在这种情况下,Resharper 似乎认为代码没有问题。为什么?
public static bool Check<T>(IEnumerable<T> docs)
{
var list = docs as IList<T> ?? docs.ToList();
return list.Count == 3;
}
Resharper 在这里没有强调我的任何内容。我在这里错过了什么?如果 docs 为 null,则应该有一个例外。提前谢谢大家。
我认为 ReSharper 检查 NullReferenceExceptions 但 IEnumerable.ToList() 抛出 ArgumentNullException.
有道理。您可能会传入一个实现 ReSharper 可能不知道的空模式的对象,这可能会导致错误和烦人的警告,因此我认为这在 ReSharper
中很难实现
我正在使用 Resharper,通常那个东西会在我的代码部分下划线,这些代码可能会抛出空引用异常。但在这种情况下,Resharper 似乎认为代码没有问题。为什么?
public static bool Check<T>(IEnumerable<T> docs)
{
var list = docs as IList<T> ?? docs.ToList();
return list.Count == 3;
}
Resharper 在这里没有强调我的任何内容。我在这里错过了什么?如果 docs 为 null,则应该有一个例外。提前谢谢大家。
我认为 ReSharper 检查 NullReferenceExceptions 但 IEnumerable.ToList() 抛出 ArgumentNullException.
有道理。您可能会传入一个实现 ReSharper 可能不知道的空模式的对象,这可能会导致错误和烦人的警告,因此我认为这在 ReSharper
中很难实现