所有的项目我想获得从这个LINQ查询相交的所有值:选择相交
Where(x => x.Attribute("name").Value).Intersect(myList).Any();
我不知道如何添加一个选择。
所有的项目我想获得从这个LINQ查询相交的所有值:选择相交
Where(x => x.Attribute("name").Value).Intersect(myList).Any();
我不知道如何添加一个选择。
我假设你想要的所有属性( “名称”)。价值是在myList中
您可以做
Where(x=>myList.Contains(x.Attribute("name").Value)).Select(x=>x.Attribute("name").Value)
或
Select(x=>x.Attribute("name").Value).Intersect(myList)
第二个答案获取并发生错误:_Cannot无法将lambda表达式转换为委托类型'System.Func
@kmxillo我做了一个错字,错过了'x =>'。我已经更新了答案 – 2012-07-05 10:57:09
你为什么要交集?为什么不只是List.Contains?
data.Where(x => myList.Contains(x.Attribute("name").Value).ToList();
或
data.Select(x => x.Attribute("name").Value).Intersect(myList);
x是XElement。如何转换为列表
字符串列表是 – kmxillo 2012-07-05 10:30:00
@kmxillo:请详细说明。 – abatishchev 2012-07-05 10:30:11
假设Where应用于'T'集合,是否希望您的结果是'T'的集合或'T.Attribute(“name”)类型的集合。 – 2012-07-05 10:16:46
@BobVale T.Attribute(“name”)的集合值。 – kmxillo 2012-07-05 10:40:32