在C#中假设的可能性

Pat*_*ski 2 c# enums

我可以对C#中系统枚举的转换int值进行假设吗?

例如:

//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
Run Code Online (Sandbox Code Playgroud)

我的代码的逻辑取决于它.但是,我不想写自己的映射,因为它......只是一个错误的解决方案.

编辑 这里也有文化的东西.ISO标准 - 周一第1天.在美国 - 第一天的星期日.

Bra*_*NET 6

是的,你可以依赖它,只要记录在案:

DayOfWeek枚举表示每周七天的日历中的星期几.此枚举中常量的值范围从DayOfWeek.Sunday到DayOfWeek.Saturday.如果强制转换为整数,则其值的范围从零(表示DayOfWeek.Sunday)到六(表示DayOfWeek.Saturday).

当然,虽然他们不太可能这样做,但微软可以在将来的版本中自由地改变它.