Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# LINQ Sum() 메서드로 리스트 요소 합계 구하기

C# LINQ Sum() 메서드란?

LINQ의 Sum() 메서드를 사용하면 컬렉션에 포함된 숫자 요소들의 합계를 간단하게 계산할 수 있습니다. 정수뿐만 아니라 double, float, decimal 등 다양한 숫자 형식의 컬렉션에 활용할 수 있습니다.

정수 리스트 준비하기

먼저 합계를 구할 정수 요소로 이루어진 리스트를 선언합니다.

List<int> list = new List<int> { 99, 34, 77, 75, 87, 35, 88};

Sum() 메서드로 합계 계산하기

AsQueryable()을 호출해 컬렉션을 쿼리 가능한 형태로 변환한 뒤 Sum() 메서드를 적용하면 됩니다.

list.AsQueryable().Sum();

참고로 List<int>IEnumerable<int>를 이미 구현하고 있기 때문에 AsQueryable() 없이 list.Sum()처럼 바로 호출하는 것도 가능합니다.

전체 예제 코드

정수 요소로 구성된 리스트의 합계를 구하는 완전한 예제는 다음과 같습니다.

using System;
using System.Linq;
using System.Collections.Generic;

public class Demo {
    public static void Main() {
        List<int> list = new List<int> { 99, 34, 77, 75, 87, 35, 88};
        int res = list.AsQueryable().Sum();
        Console.WriteLine("Sum = {0}", res);
    }
}

실행 결과

Sum = 495

위 예제에서는 리스트의 모든 요소(99 + 34 + 77 + 75 + 87 + 35 + 88)를 더한 값인 495가 출력되는 것을 확인할 수 있습니다. 이처럼 Sum() 메서드 하나만으로 반복문 없이 손쉽게 합계를 구할 수 있습니다.