在C 下有什麼好辦法可以替代if else和switch case?

時間 2021-06-02 09:32:33

1樓:清香白蓮

我不回答題主問題。

說虛表、字典、雜湊表的,你們真的覺得這些比比if/switch快?還是在現代CPU的情況下?

題主還不到擔心這個效能的時候吧。c#有這麼多指令碼語言可用,何必自己造輪子?

真有必要,換c++寫模板吧。把可以在編譯期搞掉的if在編譯期搞掉。

2樓:Night

笑尿,建議你每乙個if-else之前把時間戳log出來,然後看哪個慢了,對於普通人來說,就算你寫一萬個if-else ,估計也不會覺得延遲,因為是條件遍歷,除非你的遍歷條件是乙個方法,坑人不算,還坑的一手好計算機,這等黑科技,什麼方法都挽救不了你

3樓:毛草

if/else和switch/case本身不會對效能有太多影響,除非你用的實在太多

如果要避免這種判斷的話,最好的辦法是在執行前直接生成決策樹,然後直接呼叫,而不是在執行時通過條件臨時判斷。

可以考慮的方法有預處理,SOLID中的L,還有上邊說的通過HashTable呼叫預先做好的流程。

但是實際上,大多數情況下,if/else和case/switch基本都不可能是你的瓶頸所在吧

4樓:趙劼

不是因為「使用者編寫的指令碼裡的if-else」導致的問題嗎?為什麼你會覺得「C#編寫的解析器」裡的if-else慢?再怎麼說也應該是「C#編寫的解析器」裡處理「使用者指令碼的if-else」的方式慢麼。

還有,Profiling,Profiling,Profiling。

帕金森有什麼好辦法?,,?

清清風 帕金森病是一類中老年人多發病症,且會隨著時間不斷加重,嚴格上講帕金森病不屬於絕症,但是帕金森的症狀表現對生活的影響非常大,尤其是中老年人,生活質量上受到極大的限制。帕金森病是需要合理安全的應對方式的。並且離不開良好的心態與適當的鍛鍊。 中醫普及帕金森 1 陪伴 陪伴,除了能夠為患者提供必要的...

有什麼好辦法可以提高免疫力?

艾小愛 23點前入睡,不要熬夜,注意休息。每週保證150分鐘有氧運動。即使單次運動也會給人的免疫功能帶來好處,但經常鍛鍊肯定會帶來更多的好處。保證每週吃夠25種食物,每天12種食物,達到營養的豐富性。注意補充優質蛋白質。比如雞蛋 牛奶 魚肉 蝦 雞肉 瘦牛肉 瘦羊肉 大豆等。心態的好壞影響著人體的免...

有什麼解壓的好辦法?

抹茶小熊餅 我自己的解壓方法,每次洗完澡就躲進房間,熱敷完臉,就開始清理黑頭粉刺,這個過程注意力高度集中,看著一點點的清理出來,過程十分的爽,等我清理乾淨,我也忘記不開心的事情了。 寶藏猩猩哥 生活處處有壓力,或找人傾訴,或自我排解。但是宣洩媒介是一定要有的 可以是一場說走就走的旅行,可以是一場酣暢...