C# 中Switch、If 性能对比

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37067895/article/details/85386236

switch...case:会生成一份大小(表项数)为最大case常量+1的跳表,程序首先判断switch变量是否大于最大case 常量,若大于,则跳到default分支处理;否则取得索引号为switch变量大小的跳表项的地址,程序接着跳到此地址执行,到此完成了分支的跳转。

这就相当于以空间换取时间上的效率,不过随着存储硬件的发展,这一做法往往被考虑。貌似有点类似于字典--如果要比较的分支很多,用Switch Case 速度还是比较好的

If else :如我们所见,就是一个个遍历需要查找的范围,直到命中条件。如果比较的范围很大,分支很少用If else 也是很灵活的

猜你喜欢

转载自blog.csdn.net/qq_37067895/article/details/85386236