我有一个包含开始日期和结束日期的发票清单。我可以使用LINQ从发票清单中获取所有开始日期和结束日期并将其放入Period
类型的新列表中吗:
Period(DateTime startDate, DateTime endDate) {};
我可以使用foreach
来执行此操作,如下所示,但想知道是否有更好的方法来使用LINQ。
foreach(Invoice invoice in invoices)
{
periods.Add(new Period(invoice.StartDate, invoice.EndDate));
}
答案 0 :(得分:4)
如果要创建新的期间清单:
List<Period> periods = invoices.Select(i => new Period(i.StartDate, i.EndDate)).ToList();
如果要将发票项目附加到现有期间清单中:
periods.AddRange(invoices.Select(i => new Period(i.StartDate, i.EndDate)));