[C# 문법] C# LINQ Average 평균값 구하기

소개

  • 오늘은 C# 문법에서 LINQ 구문중 Average 메서드에 대해서 알려 드리려로 합니다.
  • Average 메서드는 리스트나 배열의 숫자 값들의 평균값을 구할 수 있도록 도와주는 메서드 입니다.
  • 이해하기 쉽게 예제코드를 통해서 보여드리도록 하겠습니다.

Average 메서드 예제코드

  • LINQ에 있는 Average 메서드를 사용하면 컬렉션에 있는 요소의 평균값을 구할 수 있습니다.
  • 컬렉션 요소의 Average 를 구하는 방법을 LINQ구문과 LINQ를 쓰지 않은 구문의 코드 차이점을 같이 보여 드리도록 하겠습니다.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    

namespace ConsoleApp7
{
static class Program
{
static void Main(string[] args)
{
var students = InitialStudent();

        // LINQ를 사용한 구문
        var avg = students.Average(data => data.Score);

        Console.WriteLine($"학생들의 평균 Score : {avg} 점 입니다.");

        // LINQ를 사용하지 않은 구문
        int sum = 0;
        foreach (var item in students)
        {
            sum += item.Score;
        }

        var average = (double)sum / students.Count;

        Console.WriteLine($"학생들의 평균 Score : {average} 점 입니다.");

    }

    static List<Student> InitialStudent()
    {
        List<Student> list = new List<Student>()
        {
            new Student() { Name = "범범조조", Age = 20, Grade = "A", Score = 100 },
            new Student() { Name = "유재석", Age = 21, Grade = "B", Score = 10 },
            new Student() { Name = "김종국", Age = 22, Grade = "C", Score = 89 },
            new Student() { Name = "송지효", Age = 20, Grade = "D", Score = 60 },
            new Student() { Name = "하하", Age = 20, Grade = "A+", Score = 20 },
            new Student() { Name = "지석진", Age = 40, Grade = "F", Score = 55 },
            new Student() { Name = "아이유", Age = 30, Grade = "A", Score = 64 },
            new Student() { Name = "정형돈", Age = 20, Grade = "A", Score = 79 },
            new Student() { Name = "김성주", Age = 20, Grade = "A", Score = 29 }
        };

        return list;
    }
}

public class Student
{
    public string Name { get; set; }
    public int Age { get; set; }
    public string Grade { get; set; }
    public int Score { get; set; }
}

}


# **실행 결과**

학생들의 평균 Score : 56.22222222222222 점 입니다.
학생들의 평균 Score : 56.22222222222222 점 입니다.

```

  • 확실히 LINQ에서 제공해주는 기본 메서드인 Average 메서드를 사용했을때의 코드가 짧은 것을 확인할 수 있습니다.
728x90

이 글을 공유하기

댓글

Designed by JB FACTORY