关于列表:C不区分大小写的字符串比较

C# Case insensitive string comparison

本问题已经有最佳答案,请猛点这里访问。

我有一个列表,上面有几个字符串(名字)。对于这个例子。它将举行:

  • 测试1
  • 测试2
  • 测试3

我正在检查清单上是否有。我现在这样做:

1
2
3
4
if (list.Contains(test2))
{

}

但我需要它不区分大小写。但我该怎么做呢?在if语句中。


Contains方法具有接受IEqualityComparer的重载。您可以通过执行以下操作来提供它:

1
2
3
4
 if (list.Contains(test2, StringComparer.OrdinalIgnoreCase))  
 {  
     // do something  
 }

indexof有一个用于不区分大小写搜索的参数

1
culture.CompareInfo.IndexOf(toSearch, word, CompareOptions.IgnoreCase)

其中culture是cultureInfo的实例,用于描述文本所用的语言。

您可以循环浏览列表,查看每个列表条目是否与搜索匹配。


把你的list放在小写……和

1
2
3
4
if (list.Contains(test2.ToLower()))
{

}