如何在<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:

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));
}

最新更新