交叉匹配2个集合使用Linq . any
本文关键字:Linq any 集合 2个 | 更新日期: 2023-09-27 18:15:21
我正试图使用Linq交叉匹配2个集合。我有一个对应字母表中字母的字符数组,我想知道给定集合中的字符串是否以这些字母中的任何一个开头。我认为这应该是工作的,但我至少在一个情况下返回false,我知道它不应该:
bool isMatch = stringCollection.Any(stringValue => {
return characterArray.Any(letter => stringValue[0].ToString().ToUpper()
== letter.ToString());
});
characterArray中的字符都是大写的,这就是为什么我在做字符串操作,而不仅仅是比较字符。我错过了一些简单的还是有人能帮我修复这个声明?
如果将字符串分解为大写字符的集合,然后使用LINQ的Intersect()
方法呢?
bool isMatch = stringCollection.Select(s => Char.ToUpper(s[0]))
.Distinct()
.Intersect(characterArray).Any();