繁体   English   中英

在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中很难实现

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM