我是Linq的新手。我想知道這是最好的方法,還是有其他方法可以做到這一點。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語句可以一次完成所有這些工作?
謝謝。
我認爲如果你說什麼輸出的數據類型可能會更清楚,我的意思是 - 你想要什麼?一個'字典<字符串,列表- >'也許?...或? –
perfectionist