C#190 [C#]LINQ 데이터 그룹화 - GroupBy 메서드 GroupBy 메서드 C# Linq에서 제공되는 GroupBy() 메서드는 SQL에서 사용할 수 있는 Group By 절과 동일한 작업을 수행합니다. 즉, GroupBy() 메서드에 전달된 키(또는 프로퍼티)를 기준으로 데이터를 그룹화합니다. 주로 다음 예시처럼 합계, 최솟값, 최댓값, 평균, 개수를 구하기 위해 데이터를 그룹화합니다. - 특정 연도의 매출 - 부서별 인원수 - 각 반별로 평균 점수 계산 예제에 사용되는 클래스 이번 포스팅에서 사용되는 Student 클래스입니다. public class Student { public string ID { get; set; } // 학생을 식별하는 키 public string Name { get; set; } // 학생의 이름 public int Grade.. C#/LINQ 2022. 8. 4. [C#]LINQ 누적기 함수 - Aggregate 메서드 Aggregate 메서드 C#의 Linq는 집계 함수를 제공합니다. 그중 Aggregate() 메서드는 누적 연산을 수행합니다. 메서드 오버로드 System.Linq의 Enumerable 클래스에 정의된 Aggregate() 메서드를 확인할 수 있으며, 세 가지 오버로드된 버전이 존재합니다. public static TSource Aggregate( this IEnumerable source, Func func); public static TAccumulate Aggregate( this IEnumerable source, TAccumulate seed, Func func); public static TResult Aggregate( this IEnumerable source, TAccumulate se.. C#/LINQ 2022. 8. 3. [C#]LINQ 데이터 개수 구하기 - Count 메서드 Count 메서드 C#의 LINQ에서 제공되는 Count() 메서드는 컬렉션과 같은 데이터 집합의 요소 개수 또는 특정 조건을 만족하는 요소 개수를 구하기 위해 사용됩니다. 메서드 오버로드 System.Linq 네임스페이스의 Enumerable 클래스에 정의된 Count() 메서드는 오버로드된 두 가지 버전의 메서드가 존재합니다. public static int Count( this IEnumerable source, Func predicate); public static int Count(this IEnumerable source); Count() 메서드 구문을 통해 IEnumerable 인터페이스의 확장 메서드라는 것을 알 수 있으며, 항상 int 타입의 값을 반환합니다. 그리고 두 가지 버전의 차이.. C#/LINQ 2022. 7. 31. [C#]LINQ 평균 구하기 - Average 메서드 Average 메서드 C#의 LINQ에서는 집계 함수를 제공합니다. 그중 Average() 메서드는 컬렉션과 같은 집합에서 숫자 타입인 값의 평균을 계산하기 위해 사용됩니다. 메서드 오버로드 System.Linq의 Enumerable 클래스를 살펴보면 Average() 메서드가 오버로드된 다양한 버전의 메서드를 확인할 수 있습니다. Average() 메서드는 숫자 타입인 값의 평균을 계산하므로 nullable 또는 double, float, decmial 타입의 값을 반환할 수 있습니다. 그리고 Func 대리자를 매개변수로 가지는 메서드와 가지지 않는 메서드가 존재합니다. 이번 포스팅에서 Func 대리자를 매개변수로 가지는 메서드와 가지지 않는 메서드 사용 방법을 예제를 통해 설명하며, Func 대리자에.. C#/LINQ 2022. 7. 31. [C#]LINQ 최소값, 최대값 구하기 - Min, Max 메서드 Min, Max 메서드 C#의 LINQ에서는 집계 함수를 제공합니다. 그중 Min() 메서드는 컬렉션과 같은 데이터 집합에서 최솟값을 구하기 위해 사용되며, Max() 메서드는 최댓값을 구하기 위해 사용됩니다. 메서드 오버로드 System.Linq의 Enumerable 클래스를 살펴보면 Min() 메서드와 Max() 메서드는 오버로드된 다양한 버전의 메서드가 존재한다는 것을 확인할 수 있습니다. 반환 타입은 숫자 타입이 아닐 수 있으며, Func 대리자를 매개변수로 가질 수 있습니다. 오버로드된 Min() 메서드와 Max() 메서드의 개수는 동일합니다. Func 대리자에 대한 내용은 아래 포스팅에서 확인할 수 있습니다. [C#]람다식, 람다표현식(Lambda expression) 람다식(Lambda ex.. C#/LINQ 2022. 7. 31. [C#]LINQ 합계 구하기 - Sum 메서드 Sum 메서드 C#의 LINQ에서는 집계 함수를 제공합니다. 그중 Sum() 메서드는 컬렉션과 같은 데이터 집합에서 숫자 타입인 값의 합계를 계산하기 위해 사용됩니다. 이번 포스팅은 Linq에서 Sum() 메서드를 사용하는 다양한 예제를 소개합니다. 예제 1. int 타입의 List 합계 다음 예제는 Sum() 메서드를 사용하여 int 타입의 List에서 모든 요소의 합계를 계산합니다. class Program { static void Main(string[] args) { List intList = new List() { 5, 10, 15, 20, 25 }; int sum = intList.Sum(); Console.WriteLine("sum: " + sum); } } [실행 결과] sum: 75 참고.. C#/LINQ 2022. 7. 28. [C#]LINQ 특정 조건을 만족하는지 체크하는 방법 - All, Any 메서드 Quantifiers 연산 Quantifiers 연산은 컬렉션과 같은 데이터 집합에서 모든 요소들이 특정 조건을 만족하는지 확인할 수 있는 방법들을 제공합니다. Quantifiers 연산에서 제공하는 메서드인 All(), Any(), Contains() 메서드는 특정 조건을 만족하면 true를 반환하고 그렇지 않으면 false를 반환합니다. All() 메서드 데이터 집합의 모든 요소가 주어진 조건을 만족하면 true를 반환하고 그렇지 않으면 false를 반환합니다. Any() 메서드 데이터 집합의 요소 중 하나라도 특정 조건을 만족하면 true를 반환하고 그렇지 않으면 false를 반환합니다. Contains() 메서드 데이터 집합에서 특정 값이 포함되어 있다면 true를 반환하고 그렇지 않으면 fals.. C#/LINQ 2022. 7. 24. [C#]LINQ 특정 값 포함 여부 - Contains 메서드 Contains 메서드 LINQ의 Contains() 메서드는 시퀀스 또는 컬렉션에 특정 요소가 포함되어 있는지 여부를 확인하기 위해 사용됩니다. 특정 요소가 존재하는 경우 true를 반환하고 그렇지 않으면 false를 반환합니다. Contains() 메서드는 System.Linq 및 System.Collections.Generic 네임스페이스에 존재하며 이 둘은 네임스페이스가 다르므로 .Net Framework에서 제공하는 Contains() 메서드는 두 가지입니다. 먼저, System.Linq 네임스페이스에 존재하는 Contains() 메서드는 bool 타입의 값을 반환하며 두 가지 오버로드된 버전이 존재합니다. 두 가지 버전의 차이점은 IEqualityComparer 사용 여부입니다. public .. C#/LINQ 2022. 7. 18. [C#]LINQ 거꾸로 뒤집기 - Reverse 메서드 Reverse 메서드 LINQ의 Reverse() 메서드는 원본 데이터를 변경하지 않고 반전된 데이터를 반환합니다. Reverse() 메서드는 System.Linq 및 System.Collections.Generic 네임스페이스에 존재합니다. .Net Framework에서 제공하는 Reverse() 메서드는 두 개이며, 이 둘은 네임스페이스가 다르므로 서로 다른 메서드입니다. 우선, System.Linq에 존재하는 Reverse() 메서드는 Enumerable 클래스에서 구현되며 IEnumerable 타입을 반환합니다. public static IEnumerable Reverse( this IEnumerable source); System.Collections.Generic 네임스페이스에 존재하는 Rev.. C#/LINQ 2022. 7. 17. [C#]LINQ 특정 필드 순서대로 정렬 LINQ의 ThenBy, ThenByDescending 메서드 필요성 이전 포스팅에서는 LINQ에서 OrderBy() 메서드를 사용하여 오름차순으로 정렬하는 방법과 OrderByDescending() 메서드를 사용하여 내림차순으로 정렬하는 방법에 대해 알아보았습니다. [C#]LINQ 정렬 - OrderBy, OrderByDescending 메서드 LINQ에서 정렬 이번 포스팅은 LINQ에서 추출된 데이터를 오름차순으로 정렬하는 OrderBy() 메서드와 내림차순으로 정렬하는 OrderByDescending() 메서드 사용 방법을 소개합니다. OrderBy() 메서드와 OrderByDes developer-talk.tistory.com OrderBy() 메서드와 OrderByDescending() 메서드는.. C#/LINQ 2022. 7. 17. [C#]LINQ 정렬 - OrderBy, OrderByDescending 메서드 LINQ에서 정렬 이번 포스팅은 LINQ에서 추출된 데이터를 오름차순으로 정렬하는 OrderBy() 메서드와 내림차순으로 정렬하는 OrderByDescending() 메서드 사용 방법을 소개합니다. OrderBy() 메서드와 OrderByDescending() 메서드에서 중요한 점은 데이터를 변경하는 것이 아니라 데이터의 순서만 변경한다는 점입니다. 그리고 OrderBy() 메서드와 OrderByDescending() 메서드는 메서드 구문에서 사용할 수 있으며, 질의 구문에서 데이터를 정렬하고 싶은 경우 orderby절을 사용합니다. orderby절 뒤에 정렬하고자 하는 프로퍼티를 작성하고 내림차순으로 정렬하는 경우 descending 키워드를 명시합니다. 오름차순으로 정렬하는 경우 descending .. C#/LINQ 2022. 7. 17. [C#]LINQ 합치기 - Concat 메서드 Concat 메서드 LINQ의 Concat() 메서드는 두 시퀀스를 하나의 시퀀스로 연결하기 위해 사용되며, 오버로드된 메서드는 존재하지 않습니다. public static IEnumerable Concat( this IEnumerable first, IEnumerable second); 따라서, Union(), Intersect(), Except() 메서드와 달리 IEqualityComparer 인터페이스를 매개변수로 사용하지 않습니다. 예제 1. int 타입의 List 다음 예제는 int 타입의 List에서 Concat() 메서드를 사용합니다. Concat() 메서드는 질의 구문에서 지원하지 않으므로 메서드 구문과 혼합해서 사용합니다. class Program { static void Main(str.. C#/LINQ 2022. 7. 17. 이전 1 ··· 3 4 5 6 7 8 9 ··· 16 다음