Sane16 авг 2010 в 12:33(Быстрый и простой вопрос) Если date — это System.DateTime, date.AddDay(1) меняет значение date?Время на прочтение1 минОхват и читатели721.NET * Всего голосов 13: ↑5 и ↓8-3Добавить в закладки0Комментарии11
bobermaniac16 авг 2010 в 12:36Если объект DateTime заявлен как immutable (то есть определен как struct, а не class) — не меняет. Если функция AddDay возвращает объект DateTime — аналогично, не меняет.
Sane16 авг 2010 в 12:39Показать предыдущий комментарийstruct не значит immutable (да и в .NET нет такого модификатора). AddDay() также может возвращать this или new DateTime(this).
bobermaniac16 авг 2010 в 13:41Показать предыдущий комментарийПо рекомендациям, все структуры должны быть immutable. Microsoft конечно нередко нарушали собственные рекомендации, но только не в этот раз.
mace16 авг 2010 в 12:38DateTime — структура, а они по рекомендациям должны быть immutable. Поэтому и не меняет.
Sane16 авг 2010 в 13:05Показать предыдущий комментарийИнтерес был именно в ответе никуда не заглядывая.
aq1aut16 авг 2010 в 17:03Для System.DateTime определен метод AddDays, а не AddDay, поправьте пожалуйста.
Sane16 авг 2010 в 17:14Показать предыдущий комментарийДа, спасибо. К сожалению, опросы нельзя исправлять.
mezastel29 авг 2010 в 17:36Помимо DateTime, immutable является еще как минимум String. А какие еще immutable структуры из BCL знаете вы?
(Быстрый и простой вопрос) Если date — это System.DateTime, date.AddDay(1) меняет значение date?