<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          C#避坑ToLower和ToUpper,小心把你的系統(tǒng)給拖垮了

          共 1619字,需瀏覽 4分鐘

           ·

          2023-11-11 08:49

          不知道何時開始,很多程序員喜歡用ToLower,ToUpper去實現(xiàn)忽略大小寫模式的字符串相等性比較,有可能這個習慣是從別的語言引進的,大膽猜測下是JS,為了不引起爭論,我指的JS是技師的意思~

          1. 講故事

          在我們一個訂單聚合系統(tǒng)中,每一筆訂單都會標注來源,比如JD,Taobao,Etao,Shopex 等等一些渠道,UI上也提供高級配置輸入自定義的訂單來源,后來客戶反饋輸入xxx查詢不出訂單,這里就拿shopex為例,用戶用小寫的shopex查詢,但系統(tǒng)中標注的是首字母大寫的Shopex,所以自然無法匹配,為了解決這個問題開發(fā)小哥就統(tǒng)一轉(zhuǎn)成大寫做比對,用代碼表示如下:

          var orderfrom = "shopex".ToUpper();
          customerIDList = MemoryOrders.Where(i =>i.OrderFrom.ToUpper()==orderFrom)
                                                 .Select(i => i.CustomerId).ToList();

          改完后就是這么牛的上線了,乍一看也沒啥問題,結(jié)果一查詢明顯感覺比之前速度慢了好幾秒,干脆多點幾下,好咯。。。在監(jiān)控中發(fā)現(xiàn)CPU和memory突高突低,異常波動,這位小哥又在寫bug了,查了下代碼問他為什么這么寫,小哥說在js中就是這么比較的~~~

          2. string.Compare 改造

          其實在C#中面對忽略大小寫形式的比較是有專門的方法,性能高而且還不費內(nèi)存,它就是 string.Compare,所以把上面代碼改成如下就可以了。

          var orderfrom = "shopex";
          customerIDList = MemoryOrders.Where(string.Compare(i.TradeFrom, tradefrom,StringComparison.OrdinalIgnoreCase) == 0)
          .Select(i => i.CustomerId).ToList();

          這其中的 StringComparison.OrdinalIgnoreCase枚舉就是用來忽略大小寫的,上線之后除了CPU還是有點波動,其他都沒有問題了。

          原文:

          https://www.cnblogs.com/huangxincheng/archive/2020/05/04/12827314.html







          回復 【關(guān)閉】學永久關(guān)閉App開屏廣告
          回復 【刪除】學自動檢測那個微信好友刪除、拉黑
          回復 【手冊】獲取3萬字.NET、C#工程師面試手冊
          回復 【幫助】獲取100+個常用的C#幫助類庫
          回復 【加群】加入DotNet學習交流群

          瀏覽 138
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  黄色电影网站免费 | 韩国精品亚洲精品 | 色老板免费视频在线观看 | 欧美顶级毛 | 国产美女在线精品 |