contains與indexof的另一個議題

摘要: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

做個紀錄以供參考囉