1. 程式人生 > >C# 中Switch、If 效能對比

C# 中Switch、If 效能對比

switch...case:會生成一份大小(表項數)為最大case常量+1的跳錶,程式首先判斷switch變數是否大於最大case 常量,若大於,則跳到default分支處理;否則取得索引號為switch變數大小的跳錶項的地址,程式接著跳到此地址執行,到此完成了分支的跳轉。

這就相當於以空間換取時間上的效率,不過隨著儲存硬體的發展,這一做法往往被考慮。貌似有點類似於字典--如果要比較的分支很多,用Switch Case 速度還是比較好的

If else :如我們所見,就是一個個遍歷需要查詢的範圍,直到命中條件。如果比較的範圍很大,分支很少用If else 也是很靈活的