我想問一些建議,我可以如何簡化下面的foreach塊。我試圖在一個linq語句中做到這一切,但我無法弄清楚如何操作查詢中的「count」值。過濾數據時簡化linq
更多關於我想要實現的細節: - 我有與潛在的重複,其中ID是重複一個巨大的名單,但財產「伯爵」是不同的號碼 - 我想擺脫重複的,但仍然沒有鬆動的「計數」值 - 因此對於具有相同ID的項目我薩姆了「計數」屬性
儘管如此,當前的代碼並不十分好看:
var grouped = bigList.GroupBy(c => c.Id).ToList();
foreach (var items in grouped)
{
var count = 0;
items.Each(c=> count += c.Count);
items.First().Count = count;
}
var filtered = grouped.Select(y => y.First());
我不要指望整個解決方案,這些想法也將得到高度讚賞:)
FWIW ReSharper非常擅長將'foreach'代碼轉換爲等效的LINQ語句。 – Yuck
檢查了這一點:http://stackoverflow.com/questions/8919100/linq-groupby-count – muratgu
絕對推薦嘗試resharper eval – Jonesopolis