使用linq查询类对象

时间:2011-01-27 21:35:40

标签: linq class object lambda

我正在尝试查询类对象。

我的课程:

public class Result
{
   public List<Driver>  Drivers { get; set; }
   public List<Vehicle> Vehicles { get; set; }       
}

我有传递此类对象的方法

  public string BuildRequestXML(Result  input)
     { 
       var driverNames = new List<Name>(); 
       input.Drivers.ForEach(cd => driverNames.Add(cd.Name)); 
     }                                                                                         

我将对象引用设置为实例错误@上述函数中的第二行代码。
提前致谢。 BB

2 个答案:

答案 0 :(得分:2)

我不确定你为什么会遇到这个问题,但是,更好的方法是使用选择'投影',如下所示:

driverNames  = input.Drivers.Select(d => d.Name).ToList();

答案 1 :(得分:2)

您必须进行调试以查找它是哪一个,但该异常可能是因为inputinput.Drivers为空。您甚至可以在Driver列表中使用空Drivers

至于您的driversName列表,您可以将其重写为

var driverNames = input.Drivers.Select(driver => driver.Name).ToList();