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

C# LINQ Average() 메서드로 숫자 시퀀스의 평균 구하기

C#에서 숫자 값으로 이루어진 시퀀스의 평균을 구하려면 LINQ의 Average() 메서드를 사용하면 됩니다. 이 메서드는 컬렉션에 포함된 숫자 요소들의 산술 평균을 계산해 double 형태로 반환합니다.

Average() 메서드 사용 방법

먼저 평균을 구할 숫자 시퀀스를 준비합니다. 아래 예제에서는 정수형 List를 생성했습니다.

List<int> list = new List<int> { 5, 8, 13, 35, 67 };

이제 Queryable.Average() 메서드를 호출하여 시퀀스의 평균값을 가져옵니다. AsQueryable()을 통해 리스트를 IQueryable로 변환한 뒤 전달하는 방식입니다.

Queryable.Average(list.AsQueryable());

전체 예제 코드

다음은 Average() 메서드를 활용해 숫자 목록의 평균을 출력하는 완전한 C# 프로그램입니다.

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

class Demo {
    static void Main() {
        List<int> list = new List<int> { 5, 8, 13, 35, 67 };
        double avg = Queryable.Average(list.AsQueryable());
        Console.WriteLine("Average = " + avg);
    }
}

실행 결과

프로그램을 실행하면 다음과 같은 결과가 출력됩니다.

Average = 25.6

참고 사항

Average() 메서드는 int, long, double, decimal 등 다양한 숫자 타입에 대해 오버로드되어 있어 상황에 맞게 사용할 수 있습니다. 또한 list.Average()처럼 확장 메서드 형태로 더 간결하게 호출할 수도 있습니다. 빈 컬렉션에 대해 Average()를 호출하면 InvalidOperationException이 발생하므로, 데이터가 비어 있을 가능성이 있다면 사전에 개수를 확인하는 것이 좋습니다.