![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 14 Всего: 62 |
Скажите, почему и в TimeSpan, и в DateTime все свойства доступны только для чтения?
|
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Idsa, потому, что если ты хочешь указать конкретное время --- ты можешь сделать это в конструкторе.
Придумай мне задачу, в которой необходимо изменять время непосредственным изменением его составляющих (минут, секунд, ...) Самые используемые методы работы с датами --- AddPeriod() |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 14 Всего: 62 |
Допустим мне нужно каждые 100мс в таймере увеличивать число тиков в моем объекте класса DateTime. Если я буду использовать для этого функцию AddTicks, каждый раз будет создаваться новый объект. Очевидны потери памяти 1. при частом выделении памяти 2. при сборке огромного числа мусора. ivashkanet, ну что, я справился с заданием? |
|||
|
||||
| ivashkanet |
|
||||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Idsa, это ерунда какая-то а не пример
Зачем таймером считать время? Оно ведь итак считается системой К чему это применить можно?
DateTime --- структура размером 8 байт. Единственное что храниться в ней это
Хоть тысячи таких объектов каждые 10мс создавай (незабыв уничтожить). |
||||
|
|||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 14 Всего: 62 |
Ладно, приведу другой дурацкий пример. Допустим была у меня одна дата. А теперь мне нужна дата с измененным годом. Я понимаю, что можно воспользоваться командой AddYear и получить новый объект... но я не вижу смысла в создании нового объекта, когда (при налачии set-ового свойства) можно было бы просто модифицировать имеющийся объект.
Хоть убейте, не пойму, какая логика в том, что функция AddXXX возвращает новый объект, а не модифицирует имеющийся. |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
В мсдн по этому поводу сказано только следующее:
А вообще, под DateTime лежит только 64-битное значение, так что особой проблемы не вижу. ИМХО, сделали для простоты, чтобы не заморачиваться с событиями на изменение каждого отдельного свойства. -------------------- ![]() |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 14 Всего: 62 |
||||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |