我有兩個列表,其基本上是相同的類型的像以下:LINQ的組由ID,然後求和ID本身(鍵)
public class TransactionsTabResults
{
public string ItemID { get; set; }
public string Title { get; set; }
public string ItemImage { get; set; }
public float ItemPrice { get; set; }
public int PageViews { get; set; }
public float AveragePrice { get; set; }
public int TotalSoldItems { get; set; }
public float TotalRevenuePerItem { get; set; }
}
列表#1是TransactionsData,它包含250項其唯一的初始化屬性是:ItemID,Title和ItemPrice;
ItemID本身在第一個列表中重複多次。現在,我想要在第二列表(transactionsList)實現的是以下幾點:
var _transactionsList = TransactionsData.GroupBy(x => x.ItemID).Select(pr => new TransactionsTabResults {
ItemID = pr.Key,
Title = pr.Select(x => x.Title).FirstOrDefault(),
// here goes total sales of the item => sum of the groupby function by ItemID
// here goes the average selling price => sum above divided by price of the item
TotalRevenuePerItem= pr.Sum(y=>y.ItemPrice)
});
正如你可以看到我試圖將所有的項目清單通過項目ID內,然後求和的關鍵,獲得每個項目的銷售額(如果你們明白我想要達到的目標) - 這個ID重複的次數是該項目的銷售額...
有人可以幫我解決想出解決辦法?
編輯:我需要得到鍵值(我被整個列表分組參數) - 價值/金額itemid的多少次重複自己在#1列表...
@GiladGreen好吧我會發布和示例數據 – User987
@GiladGreen:如果你有價格(每銷售)和銷售數量,很容易通過求和和求平均來生成總數和平均值... –