Могу ли я сделать предположения относительно значения заливки int системных перечислений в C#?Возможность предположения в C#
Например:
//DayOfWeek
(int)DayOfWeek.Monday == 1,
(int)DayOfWeek.Tuesday == 2,
(int)DayOfWeek.Wednesday == 3,
(int)DayOfWeek.Thursday == 4,
(int)DayOfWeek.Friday == 5,
(int)DayOfWeek.Saturday == 6,
(int)DayOfWeek.Sunday == 0
Логика моего кода зависит от него. Тем не менее, я не хочу писать собственное картографирование, потому что это ... просто неправильное решение.
EDIT Также здесь идет культура. Стандарт ISO - понедельник 1-го дня. В США - воскресенье 1-го дня.
Microsoft вряд ли изменит это в будущих выпусках, учитывая, что A) это, вероятно, сломает много кода, B) Текущее поведение документировано. Явно допустимо полагаться на документированное поведение. – Brian
@Brian хорошая точка, я отредактировал, чтобы уточнить это. Microsoft также хорошо относится к обратной совместимости. – BradleyDotNET
Есть ли какая-то причина, по которой вы считали нужным назвать, что Microsoft может когда-нибудь изменить свое определение этого перечисления? То есть, почему бы вы даже упомянуть о возможности изменения поведения (но не упоминать об этом в любом другом ответе на любой другой вопрос)? – Brian