【问题标题】:Can I use LINQ to create a new list of objects from an existing list我可以使用 LINQ 从现有列表中创建新的对象列表吗
【发布时间】:2019-03-17 13:12:12
【问题描述】:

我有一份包含开始日期和结束日期的发票列表。我可以使用 LINQ 从发票列表中获取所有开始日期和结束日期,并将它们放入 Period 类型的新列表中:

Period(DateTime startDate, DateTime endDate) {};

我可以使用foreach 来做到这一点,如下所示,但我想知道是否有更好的方法来使用 LINQ。

foreach(Invoice invoice in invoices)
{
    periods.Add(new Period(invoice.StartDate, invoice.EndDate));
}

【问题讨论】:

    标签: c# linq foreach


    【解决方案1】:

    如果你想创建一个新的时期列表:

    List<Period> periods = invoices.Select(i => new Period(i.StartDate, i.EndDate)).ToList();
    

    如果您想将发票项目附加到现有期间列表:

    periods.AddRange(invoices.Select(i => new Period(i.StartDate, i.EndDate)));
    

    【讨论】:

      猜你喜欢
      • 2021-03-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-03
      • 1970-01-01
      相关资源
      最近更新 更多