DateTime date1= DateTime.Now;
Console.WriteLine(date1.ToString());
DateTime d2=date1.AddYears(1); //注意这里必须要再赋值给一个新的变量。
Console.Write(d2.ToString());
显示结果:
2010-5-23 10:30:24
2011-5-25-3 10:30:24
//这是个正确的显示结果
再看下面的:
DateTime date1= DateTime.Now;
Console.WriteLine(date1.ToString());
date1.AddYears(1);
Console.Write(date1.ToString());
Console.ReadKey(true);
结果:
2010-5-23 10:34:43
2010-5-23 10:34:43
//这个结果不是想要的结果。
分析器原因,发现 DateTime 与 String 很相似,当进行加减运算的时候,会返回一个新的值,而原来的值是不变的。