LINQ를 활용하여 데이터를 효율적으로 그룹화하고 계산합니다
C#의 LINQ(언어 통합 쿼리)는 데이터를 조작하고 쿼리하는 강력한 방법을 제공합니다. 데이터 세트를 그룹화하고 계산해야 하는 상황에서 LINQ는 간결하고 효율적인 솔루션을 제공합니다.
사용자와 관련 측정항목, 날짜가 포함된 데이터세트가 있다고 가정해 보겠습니다.
<code>UserInfo(姓名, 指标, 日期, 其他指标) 数据: joe 1 2011/01/01 5 jane 0 2011/01/02 9 john 2 2011/01/03 0 jim 3 2011/01/04 1 jean 1 2011/01/05 3 jill 2 2011/01/06 5 jeb 0 2011/01/07 3 jenn 0 2011/01/08 7</code>
우리의 목표는 지표 순서(0, 1, 2, 3...)로 그룹화된 테이블을 가져와 각 지표의 총 발생 횟수를 표시하는 것입니다.
LINQ를 사용한 그룹화 및 계산
LINQ를 사용하여 이를 달성하려면 'GroupBy' 및 'Select' 메서드를 사용할 수 있습니다.
<code>foreach(var line in data.GroupBy(info => info.metric) .Select(group => new { Metric = group.Key, Count = group.Count() }) .OrderBy(x => x.Metric)) { Console.WriteLine("{0} {1}", line.Metric, line.Count); }</code>
지침:
출력:
<code>0 3 1 2 2 2 3 1</code>
다른 방법
제공된 LINQ 솔루션은 효율적이지만 더 단순화할 수 있습니다.
<code>var result = data.GroupBy(info => info.metric) .Select(group => new { Metric = group.Key, Count = group.Count() }) .OrderBy(x => x.Metric);</code>
여기서 유일한 차이점은 'foreach' 루프를 사용하여 결과를 반복하는 대신 'result'라는 변수에 할당한다는 것입니다.
핵심사항
위 내용은 LINQ는 어떻게 데이터를 그룹화하고 발생 횟수를 효율적으로 계산할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!