Determine List.IndexOf ignoring case
本问题已经有最佳答案,请猛点这里访问。
有没有一种方法可以在不区分大小写搜索的列表中获取项目的索引?
1 2 | List<string> sl = new List<string>() {"a","b","c"}; int result = sl.IndexOf("B"); // should be 1 instead of -1 |
尝试这样做:所以没有直接的方法来使用indexof和list的字符串比较选项,为了获得想要的结果,您需要使用lambda表达式。
1 | int result = sl.FindIndex(x => x.Equals("B",StringComparison.OrdinalIgnoreCase)); |
C中字符串的indexof方法有一个comparisonType参数,它的工作方式如下:
1 | sl.IndexOf("yourValue", StringComparison.CurrentCultureIgnoreCase) |
或
1 | sl.IndexOf("yourValue", StringComparison.OrdinalIgnoreCase) |
有关这方面的文档可以在这里找到