我有一个清单testList
包含一堆字符串。我想添加一个新字符串到testList
仅当列表中尚不存在时。因此,我需要对列表进行不区分大小写的搜索并使其高效。我不能使用Contains
因为这没有考虑外壳。我也不想用ToUpper/ToLower
出于性能原因。我遇到了这个方法,它有效:
if(testList.FindAll(x => x.IndexOf(keyword,
StringComparison.OrdinalIgnoreCase) >= 0).Count > 0)
Console.WriteLine("Found in list");
这可行,但它也匹配部分单词。如果列表包含“山羊”,我无法添加“燕麦”,因为它声称“燕麦”已经在列表中。有没有一种方法可以以不区分大小写的方式有效地搜索列表,其中单词必须完全匹配?谢谢
我意识到这是一篇旧帖子,但以防万一其他人正在看,你can use Contains
通过提供不区分大小写的字符串相等比较器,如下所示:
using System.Linq;
// ...
if (testList.Contains(keyword, StringComparer.OrdinalIgnoreCase))
{
Console.WriteLine("Keyword Exists");
}
根据 .net 2.0 的说法,此功能自 .net 2.0 起就可用msdn.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)