Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#不区分大小写的字符串比较_C#_List - Fatal编程技术网

C#不区分大小写的字符串比较

C#不区分大小写的字符串比较,c#,list,C#,List,我有一个包含一些字符串(名称)的列表。对于这个例子。 会议将举行: 测试1 测试2 测试3 我正在检查名单上是否有这样的人。我现在是这样做的: if (list.Contains(test2)) { } 但我需要它不区分大小写。。但是我怎么能做到呢?在if语句中。将您的列表小写……和 if (list.Contains(test2.ToLower())) { } IndexOf有一个用于不区分大小写搜索的参数 culture.CompareInfo.IndexOf(toSearch,

我有一个包含一些字符串(名称)的列表。对于这个例子。 会议将举行:

  • 测试1
  • 测试2
  • 测试3
我正在检查名单上是否有这样的人。我现在是这样做的:

if (list.Contains(test2))
{

}

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

将您的
列表
小写……和

if (list.Contains(test2.ToLower()))
{

}

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

culture.CompareInfo.IndexOf(toSearch, word, CompareOptions.IgnoreCase) 
其中culture是CultureInfo的实例,用于描述文本所用的语言


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

Contains方法有一个重载,它接受一个
IEqualityComparer
。您可以通过执行以下操作为其设置一个:

 if (list.Contains(test2, StringComparer.OrdinalIgnoreCase))  
 {  
     // do something  
 }

看见使用
StringComparison.OrdinalIgnoreCase
。对于简单的非重音字符串,如英语,简单地附加Gigi建议的内容:
list.Contains(“test2”,stringcomparier.OrdinalIgnoreCase)
CompareInfo.IndexOf不接受列表,它在另一个字符串中搜索子字符串。@hvd。我知道。我的回答更清楚了,我说你已经在列表中循环进行比较了,但是你根本不应该检查子字符串,只检查完整的匹配。那很糟糕,他为什么要将列表的大小写降低?数据更改以检查条件?听起来不错。在特定于区域性的比较案例中会失败,请参阅