C#将对象添加到列表

tco*_*ode 0 c# list asp.net-mvc-3

我创建了一个新的用户类型的空列表(用户是我的EDM中的实体)

List<User> AvailableLocums = new List<User>();
AvailableLocums = null;
Run Code Online (Sandbox Code Playgroud)

我还有另一个类型为User的 List,其中填充了查询结果

List<User> Locums = _shiftDateService.GetAvailableLocums(id, shiftDate.shiftDateID).ToList();
Run Code Online (Sandbox Code Playgroud)

然后我想循环Locums List,做一些逻辑,然后将User添加到我的AvailableLocums List

foreach (var locum in Locums)
{
   //Do some logic

   AvailableLocums.Add(locum);

}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试这样做时,我得到以下错误

你调用的对象是空的.

然后我尝试修改我的代码并执行以下操作

foreach (var locum in Locums)
{
       //Do some logic

       User locumUser = new User();
       locumUser = locum;

       AvailableLocums.Add(locumUser);     
}
Run Code Online (Sandbox Code Playgroud)

但我又得到了同样的错误

你调用的对象是空的.

有人可以帮我这个吗?

谢谢.

Fre*_*rik 5

您告诉您的变量"AvailableLocums"不再指向内存中的任何内容.

删除:AvailableLocums = null;

怎么样:

List<User> AvailableLocums;
List<User> Locums;

// get id for shift date service
// int id = ...

// get locums from shift date service 
Locums = _shiftDateService.GetAvailableLocums(id, shiftDate.shiftDateID).ToList();

// time to add to AvailableLocums
if(AvailableLocums == null)
    AvailableLocums = new List<User>();

foreach (var locum in Locums)
{
   //Do some logic

   AvailableLocums.Add(locum);
}
Run Code Online (Sandbox Code Playgroud)