使用linq查询类对象

问题描述:

我想查询一个类对象。使用linq查询类对象

我的类:

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。

+0

您是否尝试过调试它?检查异常堆栈跟踪? VS中的断点?有了这样的描述,它似乎是一个最简单的错误调试。 – Snowbear 2011-01-27 21:50:23

你必须调试找哪一个它是,但这种例外可能是因为inputinput.Drivers为空。在Drivers列表中甚至可以有一个空Driver

至于你driversName列表,你可以重写,作为

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

谢谢安东尼。我看到我的驱动程序列表count = 1.我仍然收到此错误。请参阅原始问题附带的屏幕截图。 – BumbleBee 2011-01-27 22:13:36

我不知道是什么原因,你收到此问题,但是,更好的方法是使用一个选择“投影”如下:

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

科林谢谢。输入和驱动程序不为空。我仍然有同样的错误。 – BumbleBee 2011-01-27 22:29:26