使用 linq 查询类对象

发布于 2024-10-15 05:04:37 字数 569 浏览 1 评论 0原文

我正在尝试查询一个类对象。

我的类:

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。

I am trying to query a class object.

My class :

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

I have method to which I am passing an object of this class

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

I get Object reference not set to instance error @ the 2nd line of code in the above function.
Thanks in advance.
BB.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

岁吢 2024-10-22 05:04:37

您必须调试才能找到它是哪一个,但该异常可能是因为 inputinput.Drivers 为 null。您甚至可以在 Drivers 列表中包含空的 Driver

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

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

You'll have to debug to find which one it is, but that exception could be because either input or input.Drivers is null. You could even have a null Driver in the Drivers list.

As for your driversName list, you could rewrite that as

var driverNames = input.Drivers.Select(driver => driver.Name).ToList();
暮年慕年 2024-10-22 05:04:37

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

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

I am not exactly sure why you are getting this problem, however, a better approach would be to use a Select 'projection' as follows:

driverNames  = input.Drivers.Select(d => d.Name).ToList();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文