首頁 > 後端開發 > C++ > LINQ Groupby:儘管多次出現,為什麼我的計數總是1?

LINQ Groupby:儘管多次出現,為什麼我的計數總是1?

DDD
發布: 2025-01-24 16:47:10
原創
564 人瀏覽過

Linq GroupBy: Why is my Count Always 1 Despite Multiple Occurrences?

使用LINQ進行分組、求和和計數

問題:

給定一個對象集合,按特定屬性分組,計算另一個屬性的總和,併計算每個組的出現次數。問題在於,即使源集合中存在多次出現,計數始終為 1。

解決方案:

計數計算錯誤的原因在於代碼中使用了 SelectMany。此操作會導致檢查每個組中的每個項目,從而使計數傾斜。

請改用以下代碼:

List<resultline> result = Lines
    .GroupBy(l => l.ProductCode)
    .Select(cl => new ResultLine
    {
        ProductName = cl.First().Name,
        Quantity = cl.Count().ToString(),
        Price = cl.Sum(c => c.Price).ToString(),
    }).ToList();
登入後複製

此代碼使用 First() 獲取產品名稱,假設產品代碼一致。建議將 Quantity 和 Price 分別定義為整數和十進制類型。

以上是LINQ Groupby:儘管多次出現,為什麼我的計數總是1?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板