Я использую Environment.TickCount, потому что:
- Класс Секундомер отсутствует в Compact Framework.
- Секундомер использует тот же механизм синхронизации, что и TickCount, поэтому результаты не будут более или менее точными.
- Космическая проблема с TickCount вряд ли будет решена (вам придется оставить компьютер включенным на 27 дней, а затем попытаться измерить время, которое, как оказалось, охватывает период момент), и даже если вы нажмете на него, результатом будет огромный отрицательный промежуток времени (так что он как бы выделится).
При этом, я бы также рекомендовал использовать секундомер, если он вам доступен. Или вы можете потратить около 1 минуты и написать класс, похожий на секундомер, который обернет Environment.TickCount.
Кстати, я не вижу ничего в документации по секундомеру, в которой упоминается проблема циклического изменения с основным механизмом таймера, поэтому я не удивлюсь, обнаружив, что секундомер страдает той же проблемой. Но опять же, я бы не стал беспокоиться об этом.