讓我們說我有這樣的代碼:如何忽略列表<string>的情況下靈敏度,同時計算條目的索引的
private readonly static List<string> ExtPos = new List<string> {".dat", ".wef"};
private static int ExtToPos(string ext)
{
return ExtPos.IndexOf(ext /*, StringComparer.InvariantCultureIgnoreCase*/);
}
我怎麼能忽略內容搜索字母的大小寫?
感謝
FindIndex工作完美,謝謝! (我得到了String.Compare(ext,x,StringComparison.CurrentCultureIgnoreCase)== 0作爲謂詞) – Georg 2015-02-24 13:24:02
@Georg使用'Compare'然後'== 0'感覺有點不對。在這種情況下最好使用'Equals'(它立即返回一個「bool」)。你可以考慮使用'OrdinalIgnoreCase'。用字符串進行相等性檢查的默認值是一個序數比較,所以如果你想要「像平常一樣平等,只有大小寫不敏感」,你可能更喜歡'OrdinalIgnoreCase'。 – 2015-02-24 13:46:52
沒錯,Compare == 0看起來有點奇怪,「Equals」對於那些應用來說更好。 「CurrentCultureIgnoreCase」我不幸從xanatos中獲得,通常我使用更快的序數比較。 – Georg 2015-02-25 19:55:06