检查null-coalescing运算符内的null

时间:2015-02-17 09:10:21

标签: c# 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,则应该有一个例外。先谢谢你们。

1 个答案:

答案 0 :(得分:1)

我认为ReSharper会检查 NullReferenceExceptions ,但IEnumerable.ToList()会抛出 ArgumentNullException

这很有道理。你可以传入一个实现ReSharper可能不知道的null模式的对象,这可能会导致错误和恼人的警告,所以我认为这在ReSharper中很难实现