非上限敏感搜索C#
我想搜索字符串列表,不区分大小写 已尝试。包含和== 是否有一种方法可以做到这一点,或者我必须将整个字符串列表转换为非映射,然后进行搜索 干杯 使用StringComparison参数集怎么样?或者,构建一个正则表达式。使用StringComparison参数集怎么样?或者,构建一个正则表达式。一种方法非上限敏感搜索C#,c#,wpf,algorithm,string,search,C#,Wpf,Algorithm,String,Search,我想搜索字符串列表,不区分大小写 已尝试。包含和== 是否有一种方法可以做到这一点,或者我必须将整个字符串列表转换为非映射,然后进行搜索 干杯 使用StringComparison参数集怎么样?或者,构建一个正则表达式。使用StringComparison参数集怎么样?或者,构建一个正则表达式。一种方法 var answer = list.FirstOrDefault(item => item.Equals("test", StringComparison.CurrentCultureIg
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中的一个扩展方法。这通常不是一个好主意,尤其是在进行多次比较时。因为字符串是不可变的,所以必须创建一个临时字符串来进行比较。这通常不是一个好主意,尤其是在进行多次比较的情况下。因为字符串是不可变的,所以必须创建一个临时字符串来进行比较。