Do switch语句保证顺序
本文关键字:顺序 语句 switch Do | 更新日期: 2023-09-27 18:00:09
我在很多地方读到,有string
情况的switch
语句可能会(通过编译器或JIT)优化为哈希表,以提高性能。具有非完美哈希函数的哈希表显然不能保证项目顺序,所以我想知道:
- C#编译器或JIT是否可以执行优化,将
switch
语句转换为哈希表,以提供恒定的时间性能 - C#中的
switch
语句是否保证从上到下按顺序检查case
不,没有任何保证将维持顺序,因为这是纯粹的编译器实现细节,所以即使现在是真的,对于.net 5.1
(比如)来说,也可能是错误的。
CCD_ 7构造用于识别不同可用选项之间的唯一选项。因此,如果不是从性能的角度来看,顺序并不重要,但即使如此,它基本上也是无关紧要的,而如果不是,则由于上述原因无法预测。
因此,如果您正在寻找一些性能瓶颈,请不要关注这一点,而是关注程序的其他部分。