第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

“否則”是否比“Switch()case”更快?

“否則”是否比“Switch()case”更快?

楊魅力 2019-07-04 13:10:15
“否則”是否比“Switch()case”更快?我是個前帕斯卡人,目前正在學習C#。我的問題如下:下面的代碼是否比切換更快?int a = 5;if (a == 1){     ....}else if(a == 2){     ....}else if(a == 3){     ....}else if(a == 4){     ....}else     ....開關(guān):int a = 5;switch(a){     case 1:         ...         break;     case 2:         ...         break;     case 3:         ...         break;     case 4:         ...         break;     default:         ...         break;}哪個更快?我問這個問題,因為我的程序有一個類似的結(jié)構(gòu)(很多,很多其他的if語句)。我應(yīng)該把它們變成開關(guān)嗎?
查看完整描述

3 回答

?
一只名叫tom的貓

TA貢獻1906條經(jīng)驗 獲得超3個贊

你為什么在乎?

99.99%的時候,你不應(yīng)該在意。

這些類型的微優(yōu)化不太可能影響代碼的性能。

此外,如果您需要關(guān)心,那么您應(yīng)該對您的代碼進行性能分析。在這種情況下,找出交換機大小寫和IF-Other塊之間的性能差異將是微不足道的。

編輯:為了清楚起見:實現(xiàn)哪個設(shè)計更清晰、更易于維護。通常,當面對一個巨大的開關(guān)箱或如果-否則阻塞,解決方案是使用多態(tài)性。找到正在改變的行為并封裝它。我以前不得不處理這種巨大的、丑陋的轉(zhuǎn)換用例代碼,通常簡化起來并不難。但是哦,太滿足了。


查看完整回答
反對 回復 2019-07-04
?
慕運維8079593

TA貢獻1876條經(jīng)驗 獲得超5個贊

相信本績效評估,開關(guān)箱更快。

以下是結(jié)論:

結(jié)果表明,開關(guān)語句的執(zhí)行速度比if-否則-if梯子快.這是因為編譯器能夠優(yōu)化開關(guān)語句。在if-否則-if梯子的情況下,代碼必須按照程序員確定的順序處理每個if語句。但是,由于開關(guān)語句中的每一種情況都不依賴于前面的情況,所以編譯器能夠重新排序測試,從而提供最快的執(zhí)行。


查看完整回答
反對 回復 2019-07-04
  • 3 回答
  • 0 關(guān)注
  • 856 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號