使用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。
答
你必须调试找哪一个它是,但这种例外可能是因为input
或input.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
您是否尝试过调试它?检查异常堆栈跟踪? VS中的断点?有了这样的描述,它似乎是一个最简单的错误调试。 – Snowbear 2011-01-27 21:50:23