This question already has answers here:
DateTime.AddDays() not working as expected

(3个答案)


5年前关闭。





我正在尝试测试C#.AddYears();功能,但由于某种原因我无法正常工作。

nu = DateTime.Now;
MessageBox.Show(nu.ToString());
nu.AddYears(18);
MessageBox.Show(nu.ToString());


为什么两个MessageBox都完全相同?

由于某种原因,它似乎没有为我的nu变量增加18年。

有谁知道我在这段代码中做错了什么?

最佳答案

DateTime值是不可变的。 AddYears不会修改当前实例,而是返回一个新实例。

这意味着您应该这样做:

nu = nu.AddYears(18);

10-07 18:10