非上限敏感搜索C#

时间:2009-11-25 04:20:24

标签: c# wpf algorithm string search

我想搜索一个字符串列表,非上限敏感。

尝试过.Contains和==

是否有方法可以执行此操作,或者我必须将整个字符串列表转换为非堆栈,然后搜索?

干杯!

4 个答案:

答案 0 :(得分:3)

一种方法。

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

答案 1 :(得分:2)

假设您使用C#3:

var all = new [] {"A", "a", "AB", "aB", "Ab". "Etc"};
var searchItem = "A";
var found = all.Where (x => string.Compare(x, searchItem, StringComparison.InvariantCultureIgnoreCase) == 0);

foreach(var foundItem in found)
  Console.WriteLine(foundItem);

答案 2 :(得分:0)

如何设置StringComparison参数的String.IndefOf?或者,建立一个RegEx。

答案 3 :(得分:0)

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

或.net lib中有更高级的字符串比较助手:

请参阅: http://en.csharp-online.net/CSharp_FAQ:_How_perform_a_case_insensitive_string_comparison

相关问题