gpt4 book ai didi

c# - 如果与开关速度

转载 作者:行者123 更新时间:2023-11-30 18:16:52 24 4
gpt4 key购买 nike

由于编译器优化,Switch 语句通常比等效的 if-else-if 语句(如本 article 中所述)更快。

这种优化实际上是如何工作的?谁有好的解释?

最佳答案

编译器可以在适用的地方建立跳转表。例如,当您使用反射器查看生成的代码时,您会发现对于字符串上的巨大开关,编译器实际上会生成使用哈希表来调度这些的代码。哈希表使用字符串作为键,并将 case 代码作为值。

这比许多链式 if 测试具有更好的渐近运行时间,实际上即使对于相对较少的字符串也更快。

关于c# - 如果与开关速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45461598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com