C#慎用ToLower和ToUpper,小心把你的系統給拖垮了,應該用string.Compare
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
不知道何時開始,很多程序員喜歡用ToLower,ToUpper去實現忽略大小寫模式的字符串相等性比較,有可能這個習慣是從別的語言引進的,大膽猜測下是JS,為了不引起爭論,我指的JS是技師的意思~ 1. 講故事在我們一個訂單聚合系統中,每一筆訂單都會標注來源,比如JD,Taobao,Etao,Shopex 等等一些渠道,UI上也提供高級配置輸入自定義的訂單來源,后來客戶反饋輸入xxx查詢不出訂單,這里就拿shopex為例,用戶用小寫的shopex查詢,但系統中標注的是首字母大寫的Shopex,所以自然無法匹配,為了解決這個問題開發小哥就統一轉成大寫做比對,用代碼表示如下:
改完后就是這么牛的上線了,乍一看也沒啥問題,結果一查詢明顯感覺比之前速度慢了好幾秒,干脆多點幾下,好咯。。。在監控中發現CPU和memory突高突低,異常波動,這位小哥又在寫bug了,查了下代碼問他為什么這么寫,小哥說在js中就是這么比較的~~~ 2. string.Compare 改造其實在C#中面對忽略大小寫形式的比較是有專門的方法,性能高而且還不費內存,它就是
這其中的 出處: https://www.cnblogs.com/huangxincheng/archive/2020/05/04/12827314.html 該文章在 2024/3/28 22:51:46 編輯過 |
關鍵字查詢
相關文章
正在查詢... |