LINQ中使用LIKE

摘要:LINQ中使用LIKE

情境模擬

     string s = " 11,3,4,8,9,25,77 ";

     string key = "1";

現在若是想要搜尋key是否在裡面   使用 s.contains(key) 會被翻譯成   like '%1%'

因此 11符合這個條件 因此這個字串會被判斷成TRUE,這不是我們要的

 

因此可以使用 StartsWith  EndsWith  與 contains 來搭配使用

考慮這個狀況來思考1擺在字串前頭(1,) 中間(,1,) 與 後面的狀態(,1)  這三種狀態都不會跟其他數字重複   

 

StartsWith("1,")  會被翻譯成 like '1,%'

EndWith(",1") 會被翻譯成 like '%,1'

 

結果

  s.StartsWith("1,")  || s.contains(",1,") || s.EndWith(",1")