> 백엔드 개발 > C++ > LINQ GroupBy, Sum 및 Count를 올바르게 사용하여 제품 데이터를 집계하는 방법은 무엇입니까?

LINQ GroupBy, Sum 및 Count를 올바르게 사용하여 제품 데이터를 집계하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2025-01-24 16:52:16
원래의
333명이 탐색했습니다.

How to Correctly Use LINQ GroupBy, Sum, and Count to Aggregate Product Data?

LINQ: GroupBy, 합계 및 개수

이 코드의 목표는 제품 컬렉션을 제품 코드별로 그룹화하고 제품 이름, 각 코드의 제품 수량, 각 제품의 총 가격이 포함된 객체를 반환하는 것입니다.

샘플 데이터에는 세 가지 제품이 포함되어 있습니다.

<code>{"p1", 6.5, "Product1"}, {"p1", 6.5, "Product1"}, {"p2", 12, "Product2"}</code>
로그인 후 복사

예상 결과는 다음과 같습니다.

<code>Product1: count 2   - Price:13 (2x6.5)
Product2: count 1   - Price:12 (1x12)</code>
로그인 후 복사
로그인 후 복사

그런데 코드에 의해 생성된 카운트 값이 올바르지 않아 각 제품마다 항상 1이 표시됩니다.

문제는 SelectMany() 메서드가 잘못 사용되었다는 것입니다. 코드는 표현식을 단순화하는 Select() 메서드를 사용해야 합니다.

<code>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();</code>
로그인 후 복사

이 수정으로 문제가 수정되고 원하는 카운트 값이 생성됩니다.

<code>Product1: count 2   - Price:13 (2x6.5)
Product2: count 1   - Price:12 (1x12)</code>
로그인 후 복사
로그인 후 복사

위 내용은 LINQ GroupBy, Sum 및 Count를 올바르게 사용하여 제품 데이터를 집계하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿