利用LINQ的GroupBy與Count方法進行資料聚合
LINQ中的GroupBy操作符是根據指定鍵聚合資料的強大工具。結合Count()方法,它可以用來統計分組值的出現次數。
假設以下場景:您有一個名為UserInfo的資料集,其中包含使用者的指標和其他資訊記錄。若要檢索指標出現次數,您需要依指標將資料分組,並計算每個分組中的記錄數。
<code class="language-c#">// 示例数据集 List<userinfo> data = new List<userinfo> { new UserInfo { Name = "joe", Metric = 1, Day = "01/01/2011" }, new UserInfo { Name = "jane", Metric = 0, Day = "01/02/2011" }, new UserInfo { Name = "john", Metric = 2, Day = "01/03/2011" }, new UserInfo { Name = "jim", Metric = 3, Day = "01/04/2011" } };</code>
以下是使用LINQ的GroupBy和Count來實現預期結果的方法:
<code class="language-c#">var metricCounts = data.GroupBy(info => info.Metric) .Select(group => new { Metric = group.Key, Count = group.Count() }) .OrderBy(x => x.Metric); foreach (var line in metricCounts) { Console.WriteLine($"{line.Metric} {line.Count}"); }</code>
在此程式碼中,GroupBy()運算子以Metric屬性將資料分組,並建立一個IEnumerable
此程式碼的輸出將是:
<code>0 1 1 1 2 1 3 1</code>
這示範如何使用LINQ透過分組和計數值來有效地檢索聚合資料。透過理解GroupBy和Count的使用,您可以有效地操作和匯總應用程式中的資料。
請注意,範例資料中Metric=0 的計數在原文和修改後的版本中有所不同,這可能是原文的錯誤。 修改後的版本更符合程式碼的輸出結果。
以上是如何使用LINQ的GroupBy和Count方法進行資料聚合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!