我有一個跟蹤賬單的程序。如果帳單每月重複發生,我想將這些日期(最多一年)添加到列表中。DateTime AddMonths正在相乘
//code changed for brevity but same principle applies
private List<Bill> GenerateRecurring(Bill bill)
{
//bill.DueDate = Convert.ToDateTime("10/14/2017");
var Bills = new List<Bill>();
for (int i = 1; i <= 12; i++)
{
var newBill = bill;
newBill.DueDate = bill.DueDate.AddMonths(i);
Bills.Add(newBill);
}
return Bills;
}
我預計在法案中的元素有日期2017年11月14日,2017年12月14日等,而是他們是2017年11月14日,2018年1月14日,4/14/2018等
'bill.DueDate'每次在循環中更新或我缺少什麼?
將bill分配給newBill不會複製該對象,而只是將兩個變量指向同一個對象實例。您需要明確地向Bill類添加一個方法,以創建具有相同值的類的新實例。 – NineBerry
在循環前保存dueDate,並使用它爲您的賬單創建新日期 –