假设我有这样的代码:
private readonly static List<string> ExtPos = new List<string> {".dat", ".wef"};
private static int ExtToPos(string ext)
{
return ExtPos.IndexOf(ext /*, StringComparer.InvariantCultureIgnoreCase*/);
}
如何在内容搜索中忽略字母大小写?
感谢
您可以使用FindIndex:
int ix = ExtPos.FindIndex(x => ".DAT".Equals(x, StringComparison.CurrentCultureIgnoreCase));
或者你可以使用StringComparer:它对null
更"抵抗力"(注意我是如何构建上一个比较的:我在Equals
的左边放了"100%不是null,因为它是一个固定字符串"的值!)
int ix = ExtPos.FindIndex(x => StringComparer.CurrentCultureIgnoreCase.Equals(".DAT", x));
使用FindIndex方法。像这样:
private static int ExtToPos(string ext)
{
return ExtPos.FindIndex(_ =>
string.Equals(_, ext, StringComparison.InvariantCultureIgnoreCase));
}