摘要:contains與indexof的另一個議題
上一篇知道了contains與indexof之間的關係,
由於contains用起來也比indexof來的簡便清爽(少了indexof("xx")>-1這種判斷),所以一般來說還是都會用contains居多
接著有了一個需求,就是contains比較字串時希望能略過兩字串的大小寫,
以string.compare來說,其中有個ignorecase的參數來忽略大小寫,但是很遺憾contains並沒有這種參數可以用
好吧,山不轉路轉,我們該怎麼做呢?
我想大部分的人都會先想到ToUpper/ToLower來做轉換比較
雖然簡便,但以效能來說實在不是好的選擇也比較沒sense
既然contains是呼叫indexof,那來看看indexof有沒有類似參數好了
果不其然,indexof的參數中果然是有StringComparison.OrdinalIgnoreCase 這種列舉參數可以用
ex:
stringA.IndexOf(stringB, StringComparison.OrdinalIgnoreCase) != -1
做個紀錄以供參考囉