关于c#:为什么我在这段代码上得到System.NullReferenceException?

Why I get a System.NullReferenceException on this code?

我有这个代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
IList<MyObject> myObjects = new List<MyObject>();
if (param != null)
{
    myObjects = (from ... LINQ1 ...).ToList();
}
else
{
    myObjects = (from ... LINQ2 ...).ToList();
}

foreach (MyObject myObject in myObjects)
{
}

当foreach启动时,我得到一个System.NullReferenceException。为什么?我该怎么修?看起来很奇怪…


您的对象正被一个LINQ查询覆盖,该查询很可能返回空值。

同样,myObjects是指IList还是List