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() 메서드 하나만으로 반복문 없이 손쉽게 합계를 구할 수 있습니다.