c# - AddDays() 在 while 循环中不起作用

标签 c#

是否有任何东西可以停止不在 while 循环内运行的 DateTime AddDays() 方法。我有这段简单的代码;

DateTime last_day = monthCalendar2.SelectionRange.End;
DateTime first_day = new DateTime(year, month, day);

//Insert dates into vector
while (first_day != last_day)
{
  dates.Add(first_day);
  first_day.AddDays(1);
}

我单步执行程序,first_day 永远不会改变,有人知道为什么吗?!

最佳答案

原因是 DateTime 是 Immutable ,这意味着您不能直接修改它,而是需要创建它的一个新实例。字符串是另一种以这种方式运行的类型,您可能更习惯这种方式。

first_day = first_day.AddDays(1);

关于c# - AddDays() 在 while 循环中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9942015/

相关文章:

javascript - js不执行 'else'语句

c# - 在 ASP.NET 中单击链接按钮时如何在 Bootstrap Modal 中显示数据

c# - 如何检查是否脏,但保存时不检查?

c# - Windows Phone 8 map 不显示在用户控件中

c# - 如何在打开的下拉菜单中填充组合框

c# - 如何知道相机预览成功或准备好使用 Directshow 进行快照

c# - 我可以在单击按钮时淡入淡出每个文本 block 吗?

c# - Crystal 中的 Encoding.ASCII.GetBytes(cArr)

c# - 意外的 protobuf-net 序列化程序行为

c# - FFImageLoading 在 Android 中抛出异常,错误为 : System. TypeLoadException:由于找不到方法,无法加载方法覆盖列表: