我有一个跟踪账单的程序.如果账单每月重复出现,我想将这些日期(最多一年)添加到列表中.
//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;
}
Run Code Online (Sandbox Code Playgroud)
我希望Bills中的元素的日期为2017年11月14日,2017年12月14日等,但它们是11/14/2017,1/14/201,4/14/201等.
"bill.DueDate"每次都在循环中更新还是我遗漏了什么?
var newBill = bill;不会从现有账单创建新账单,它只是给现有账单另一个名称来引用它.因此,您始终更新同一对象并将相同的对象添加到Bills集合中(在循环之后,Bills将包含您的单个帐单12次).
| 归档时间: |
|
| 查看次数: |
77 次 |
| 最近记录: |