gpt4 book ai didi

c# - DateTime AddMonths 正在乘以

转载 作者:太空宇宙 更新时间:2023-11-03 18:22:39 26 4
gpt4 key购买 nike

我有一个跟踪账单的程序。如果帐单每月重复一次,我想将这些日期(最多一年)添加到列表中。

//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;
}

我预计 Bills 中的元素的日期为 11/14/2017、12/14/2017 等,但实际上它们是 11/14/2017、1/14/2018、4/14/2018 等.

'bill.DueDate' 是在循环中每次更新还是我遗漏了什么?

最佳答案

var newBill = bill; 不会从现有账单创建新账单,它只是给现有账单另一个名称来引用它。所以你总是在更新同一个对象并将同一个对象添加到 Bills 集合中(在你的循环之后,Bills 将包含你的单个账单 12 次).

关于c# - DateTime AddMonths 正在乘以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46750896/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com