我正在尝试创建一个输出行程的程序,但是我在发现指向同一对象的两个 DateTime
对象的方法时遇到了问题。特定的DateTime
作为参数传递到该方法中,我在该方法中使用了其他两个DateTime
对象(当前都指向参数(
memberwiseClone()
诸如DateTime
工作的正常修复程序都没有,所以我有点损失。
{
DateTime1 = x;
for (int i = 0; i < someArray.Length; i++)
{
DateTime2 = DateTime1;
double minutes = someValue / someOtherValue;
DateTime2.AddMinutes(minutes);
WriteLine("{0:hh//:mm} ---> {1:hh//:mm}, item #{2}", DateTime1, DateTime2, i);
DateTime1 = DateTime2;
}
}
我理想地喜欢它可以按照:
的线条打印出来"21:00 ---> 21:30, item #1"
"21:30 ---> 22:00, item #2"
但是,目前我只是以DateTime
参数的初始值获得所有值。
System.DateTime
struct是不成熟的,这意味着无法更改。它的方法(例如AddMinutes
(没有更改原始结构的值,但它具有包含指定操作结果的值的返回值。
您应该使用DateTime2 = DateTime1.AddMinutes(minutes)
。
行DateTime2.AddMinutes(minutes);
不是void
,它返回结果。将其更改为:
DateTime2 = DateTime1.AddMinutes(minutes);