C# 确定忽略大小写的List.IndexOf

C# 确定忽略大小写的List.IndexOf,c#,list,C#,List,有没有一种方法可以通过不区分大小写的搜索获取列表中项目的索引 List<string> sl = new List<string>() { "a","b","c"}; int result = sl.IndexOf("B"); // should be 1 instead of -1 List sl=newlist(){“a”、“b”、“c”}; int result=sl.IndexOf(“B”);//应该是1而不是-1 C#中字符串的IndexOf方法有一个Comp

有没有一种方法可以通过不区分大小写的搜索获取列表中项目的索引

List<string> sl = new List<string>() { "a","b","c"};
int result = sl.IndexOf("B"); // should be 1 instead of -1
List sl=newlist(){“a”、“b”、“c”};
int result=sl.IndexOf(“B”);//应该是1而不是-1

C#中字符串的IndexOf方法有一个ComparisonType参数,其工作原理如下:

sl.IndexOf("yourValue", StringComparison.CurrentCultureIgnoreCase)


可以找到这方面的文档,并尝试以下操作:因此,没有直接的方法可以在列表中使用带字符串比较选项的IndexOf,为了获得所需的结果,您需要使用Lambda表达式

int result = sl.FindIndex(x => x.Equals("B",StringComparison.OrdinalIgnoreCase));

正如@c0rd在回答这个帖子的另一个答案时所说的,这不是关于
字符串的问题,而是关于
列表的问题。无论如何,我也否决了这个答案。我希望没有不愉快的感觉。只是想帮忙。这个答案对我很有用。我投了更高的票。
int result = sl.FindIndex(x => x.Equals("B",StringComparison.OrdinalIgnoreCase));