我正在使用数组。包含字符串数组上的方法。如何使它不区分大小写呢?
当前回答
一些重要的提示,或者至少把一些分布的信息放在一个地方-关于上面的提示,使用StringComparer,如:
if (array.Contains("str", StringComparer.OrdinalIgnoreCase))
{}
arrays . contains()是一个LINQ扩展方法,因此仅适用于。net 3.5或更高版本,需要: 使用系统; 使用来; 但是:在。net 2.0中,简单的Contains()方法(不考虑大小写不敏感)至少可以像这样,使用一个类型转换: if (((IList<string>)mydotNet2Array).Contains(" str ")) {} 由于Contains()方法是IList接口的一部分,它不仅适用于数组,还适用于列表等。
其他回答
一些重要的提示,或者至少把一些分布的信息放在一个地方-关于上面的提示,使用StringComparer,如:
if (array.Contains("str", StringComparer.OrdinalIgnoreCase))
{}
arrays . contains()是一个LINQ扩展方法,因此仅适用于。net 3.5或更高版本,需要: 使用系统; 使用来; 但是:在。net 2.0中,简单的Contains()方法(不考虑大小写不敏感)至少可以像这样,使用一个类型转换: if (((IList<string>)mydotNet2Array).Contains(" str ")) {} 由于Contains()方法是IList接口的一部分,它不仅适用于数组,还适用于列表等。
new[] { "ABC" }.Select(e => e.ToLower()).Contains("abc") // returns true
实现一个考虑大小写不敏感的自定义IEqualityComparer。
另外,看看这个。所以(理论上)你所要做的就是:
myArray.Contains("abc", ProjectionEqualityComparer<string>.Create(a => a.ToLower()))
array.Contains("str", StringComparer.OrdinalIgnoreCase);
或者根据具体情况,你可能更喜欢:
array.Contains("str", StringComparer.CurrentCultureIgnoreCase);
array.Contains("str", StringComparer.InvariantCultureIgnoreCase);
推荐文章
- 如何为构造函数定制Visual Studio的私有字段生成快捷方式?
- 为什么Visual Studio 2015/2017/2019测试运行器没有发现我的xUnit v2测试
- AppSettings从.config文件中获取值
- 如何检查IEnumerable是否为空或空?
- 没有ListBox。SelectionMode="None",是否有其他方法禁用列表框中的选择?
- 在c#代码中设置WPF文本框的背景颜色
- 如何在iis7应用程序池中设置。net Framework 4.5版本
- 如何分裂()一个分隔字符串到一个列表<字符串>
- 如何指定最小值,但没有使用范围数据注释属性的最大小数?
- 如何在PowerShell中获得本地主机名?
- 为什么在Java和。net中不能修改字符串?
- 'throw'和'throw new Exception()'的区别
- c# int到字节[]
- 如何跟踪log4net问题
- foreach vs somlist . foreach (){}