значение datetime.AddDays() работает не так, как ожидалось

у меня есть эта простая программа:

        DateTime aux = new DateTime(2012, 6, 12, 12, 24, 0);
        DateTime aux2 = new DateTime(2012, 6, 12, 13, 24, 0);
        aux2.AddDays(1);

       Console.WriteLine((aux2 - aux).TotalHours.ToString());

        Console.ReadLine();

Я отладил это и нашел aux2.AddDays(1); не работает, что я пропустил? он должен вернуть 25 но ответ один.

в чем проблема?

и AddHours не работает, я думаю, что другие тоже не работают.

2 ответов


это работает, но вы ничего не делаете с возвращаемым значением, попробовать

aux2 = aux2.AddDays(1);

DateTimes поделитесь этим аспектом неизменности с Strings.


редактировать

есть небольшой абзац об этом на MSDN

этот метод не изменяет значение этого DateTime. Вместо этого возвращает новое значение DateTime, значение которого является результатом этой операции.


DateTime.AddDays возвращает новое DateTime, которое добавляет указанное количество дней. Вам нужно назначить его своей переменной:

aux2 = aux2.AddDays(1);