有没有办法将一个DateTime对象的值传递给另一个DateTime对象,而无需引用相同对象



我正在尝试创建一个输出行程的程序,但是我在发现指向同一对象的两个 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);

最新更新