c# – 使用linq检查ILookup中的键是否存在值的最佳方法

前端之家收集整理的这篇文章主要介绍了c# – 使用linq检查ILookup中的键是否存在值的最佳方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
ILookup<string,string> someList;
            Cricket Sachin
                    Dravid
                    Dhoni
            Football Beckham
                     Ronaldo
                     Maradona
bool status = someList.Where(x => x.Key == "Football").Where( y => y.Value == "Ronaldo")

应该回归真实

bool status = someList.Where(x => x.Key == "Football").Where( y => y.Value == "Venus williams")

应该返回false

ILookup没有value属性,而不是循环,有没有更聪明的方法来获得几行结果.上面的代码是不对的,如果可能的话,希望有类似的东西.我是Linq的新手,所以学习更好的方法

解决方法

ILookup<TKey,TElement>.Item属性返回的对象(当你执行someList […]时调用的是)是IEnumerable< TElement>.因此,您可以将每个项目直接与测试值进行比较.像这样:
var status = someList["Football"].Any(y => y == "Venus Williams");

猜你在找的C#相关文章