.Select和.Linq查询的地方间歇性NullReferenceException

时间:2019-04-20 21:06:19

标签: c# linq nullreferenceexception

我看到以下代码和LINQ查询抛出2个稍微不同的间歇性NullReferenceExceptions

我怀疑我需要在查询中添加一些null检查,但是.Select是否可以返回null?还是我应该在下面的示例中对自己的选择进行.ToList()处理?

  var indexes = messages.Select(m => m.Index);

  var undocumentedType1Messages = Type1Messages.Where(m => !indexes.Contains(m.Index)).ToList();

  var undocumentedType2Messages = Type2Messages.Where(m => !indexes.Contains(m.Index)).ToList();

  var undocumentedType3Messages = Type3Messages.Where(m => !indexes.Contains(m.Index)).ToList();

  var undocumentedType4Messages = Type4Messages.Where(m => !indexes.Contains(m.Index)).ToList();

堆栈跟踪:

  

System.NullReferenceException:对象引用未设置为实例   一个对象。       在System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()

     

System.NullReferenceException:对象引用未设置为实例   一个对象。在System.Linq.Enumerable.WhereListIterator`1.MoveNext()

0 个答案:

没有答案