我是Linq的新手。我想知道这是否是最好的方法还是有其他方法可以做到这一点。
我有一个要求,我从 Web 服务中收到一个项目列表:
class Item {
string ItemName { get; set;}
string GroupName { get; set; }
}
我收到以下数据:
ItemName: Item1; GroupName: A
ItemName: Item2; GroupName: B
ItemName: Item3; GroupName: B
ItemName: Item4; GroupName: A
ItemName: Item5; GroupName: A
现在我想获取列表中的所有唯一组,并将所有项目与该组相关联。所以我做了一个类:
class Group {
string GroupName { get; set; }
List<string> Items { get; set; }
}
这样就有一个组,所有关联的项目都将在列表下。
我做了两个 LINQ 语句:
var uniqueGroups = (from g in webservice
where g.Group != null
select g.GroupName).Distinct();
然后我遍历它
foreach (var gn in uniqueGroups)
{
var itemsAssociated = (from item in webservice
where item.GroupName = gn.ToString()
select new {
});
}
然后我得到了这些物品,并将它们保存到我的对象中。
这是执行此操作的最佳方法,还是有任何 LINQ 语句可以一次性完成所有这些操作?
谢谢。