我正在使用数组。包含字符串数组上的方法。如何使它不区分大小写呢?
实现一个考虑大小写不敏感的自定义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);
一些重要的提示,或者至少把一些分布的信息放在一个地方-关于上面的提示,使用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接口的一部分,它不仅适用于数组,还适用于列表等。
推荐文章
- 如何在Visual Studio中找到堆栈跟踪?
- 如何强制LINQ Sum()返回0而源集合是空的
- 如何创建数组。包含不区分大小写的字符串数组?
- 如何从字符串中删除新的行字符?
- 是否已经添加了事件处理程序?
- Lookup()和Dictionary(Of list()的区别
- 如何从我的c#代码运行EXE文件?
- Node.js vs .Net性能
- .NET控制台应用程序中的全局异常处理程序
- 枚举上最常见的c#位操作
- PowerShell脚本在机器上返回。net框架的版本?
- 用c#创建一个空文件
- 如何改变列表<T>数据IQueryable<T>数据
- 您可以使用反射来查找当前正在执行的方法的名称吗?
- 流。Seek(0, SeekOrigin.Begin)或Position = 0