我想搜索一个字符串列表,非上限敏感。
尝试过.Contains和==
是否有方法可以执行此操作,或者我必须将整个字符串列表转换为非堆栈,然后搜索?
干杯!
答案 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