非上限敏感搜索C#

非上限敏感搜索C#,c#,wpf,algorithm,string,search,C#,Wpf,Algorithm,String,Search,我想搜索字符串列表,不区分大小写 已尝试。包含和== 是否有一种方法可以做到这一点,或者我必须将整个字符串列表转换为非映射,然后进行搜索 干杯 使用StringComparison参数集怎么样?或者,构建一个正则表达式。使用StringComparison参数集怎么样?或者,构建一个正则表达式。一种方法 var answer = list.FirstOrDefault(item => item.Equals("test", StringComparison.CurrentCultureIg

我想搜索字符串列表,不区分大小写

已尝试。包含和==

是否有一种方法可以做到这一点,或者我必须将整个字符串列表转换为非映射,然后进行搜索

干杯

使用StringComparison参数集怎么样?或者,构建一个正则表达式。

使用StringComparison参数集怎么样?或者,构建一个正则表达式。

一种方法

var answer = list.FirstOrDefault(item => item.Equals("test", StringComparison.CurrentCultureIgnoreCase));
一种方法

var answer = list.FirstOrDefault(item => item.Equals("test", StringComparison.CurrentCultureIgnoreCase));
假设您使用C#3:

假设您使用C#3:


您可以简单地使用String.ToUpper()将其作为非敏感项进行比较。(比较的两个字符串都是大写)

或者.net库中有更多高级字符串比较帮助程序:

见:

您可以简单地使用String.ToUpper()进行非敏感比较。(比较的两个字符串都是大写)

或者.net库中有更多高级字符串比较帮助程序:

见:

我想你是想写一个“不区分大小写”的搜索我想你是想写一个“不区分大小写”的搜索当项目为空时,你会很容易地在这里得到NullReferenceException。这样做可以使它为空安全:
“test”。Equals(项目,StringComparison.CurrentCultureIgnorCase)
。FirstOrDefault来自哪里from@Andrew,对于这个特定的示例,它将起作用。但是,如果实例和参数都可以为null,则不能通过这种方式使其为null安全。因此,最好使用String.Compare.FirstOrDefault是System.Linq.Enumerabley中的一个扩展方法。当项为null时,您将很容易在此处遇到NullReferenceException。请执行此操作以使其为null安全:
“test”。Equals(item,StringComparison.CurrentCultureIgnoreCase)
。FirstOrDefault从何而来from@Andrew,对于这个特定的示例,它将起作用。但是,如果实例和参数都可以为null,则不能通过这种方式使其为null安全。因此,最好使用String.Compare.FirstOrDefault是System.Linq.Enumerable中的一个扩展方法。这通常不是一个好主意,尤其是在进行多次比较时。因为字符串是不可变的,所以必须创建一个临时字符串来进行比较。这通常不是一个好主意,尤其是在进行多次比较的情况下。因为字符串是不可变的,所以必须创建一个临时字符串来进行比较。