编写高质量代码改善C#程序的157个建议——建议64:为循环增加Tester-Doer模式而不是将try-catch置于循环内...
生活随笔
收集整理的這篇文章主要介紹了
编写高质量代码改善C#程序的157个建议——建议64:为循环增加Tester-Doer模式而不是将try-catch置于循环内...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
建議64:為循環增加Tester-Doer模式而不是將try-catch置于循環內
?如果需要在循環中引發異常,你需要特別注意,應為拋出異常是一個相當影響性能的過程。應該盡量在循環當中對異常發生的一些條件進行判斷,然后根據條件進行處理。
做個測試:
Stopwatch watch = Stopwatch.StartNew();int x = 0;for (int i = 0; i < 10000; i++){try{int j = i / x;}catch{}}Console.WriteLine(watch.ElapsedMilliseconds);watch = Stopwatch.StartNew();for (int i = 0; i < 10000; i++){if (x == 0){continue;}int j = i / x;}Console.WriteLine(watch.ElapsedMilliseconds);Console.ReadKey();輸出為:
796
0
以上代碼中,我們預見了代碼肯能會發生DivideByZeroException異常,于是,調正策略,對異常發生的條件進行了特殊處理:Continue讓效率得到了極大的提升。
?
?
轉自:《編寫高質量代碼改善C#程序的157個建議》陸敏技
轉載于:https://www.cnblogs.com/jesselzj/p/4737859.html
總結
以上是生活随笔為你收集整理的编写高质量代码改善C#程序的157个建议——建议64:为循环增加Tester-Doer模式而不是将try-catch置于循环内...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 激光雷达障碍物检测与追踪实战——基于欧几
- 下一篇: 回顾+纪念:离开帝都的第一年