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