LINQ42 [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 합치기 - 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. [C#]LINQ 합집합 구하는 방법 - Union 메서드 Union 메서드 LINQ의 Union() 메서드는 두 컬렉션에서 중복된 요소를 제거하고 모든 요소를 하나로 결합합니다. 예를 들어 다음 소스 코드를 봅시다. int[] intArrayA = { 0, 2, 4, 5 }; int[] intArrayB = { 1, 2, 3, 5 }; int 타입의 배열인 intArrayA와 intArrayB가 존재합니다. intArray와 intArrayB에 중복된 요소는 2, 5입니다. 따라서, 두 컬렉션을 Union() 메서드를 사용하여 하나로 결합하면 다음과 같은 결과가 나와야 합니다. int[] unionResult = {0, 1, 2, 3, 4, 5}; 오버로드된 두 가지 버전 LINQ의 Union() 메서드 사용 예제를 알아보기 전에 오버로드된 두 가지 버전에 대.. C#/LINQ 2022. 7. 17. [C#]LINQ 교집합 구하는 방법 - Intersect 메서드 Intersect 메서드 LINQ의 Intersect() 메서드는 두 컬렉션에서 동일한 요소를 추출합니다. 예를 들어 다음 소스 코드를 봅시다. int[] intArrayA = { 0, 2, 4, 5 }; int[] intArrayB = { 1, 2, 3, 5 }; int 타입의 배열인 intArrayA와 intArrayB가 존재합니다. intArrayA와 intArrayB에 모두 존재하는 요소는 2, 5입니다. 배열을 그림으로 나타내면 다음과 같습니다. 오버로드된 두 가지 버전 LINQ의 Intersect() 메서드는 오버로드된 두 가지 버전이 존재합니다. public static IEnumerable Intersect( this IEnumerable first, IEnumerable second); .. C#/LINQ 2022. 7. 14. [C#]LINQ 차집합 구하는 방법 - Except 메서드 Except 메서드 LINQ의 Except() 메서드는 첫 번째 데이터에는 존재하지만 두 번째 데이터에는 없는 요소를 반환합니다. 예를 들어 다음 소스 코드를 봅시다. int[] intArrayA = { 0, 2, 4, 5 }; int[] intArrayB = { 1, 2, 3, 5 }; int 타입의 배열인 intArrayA와 intArrayB가 존재합니다. 첫 번째 데이터인 intArrayA에는 존재하지만 두 번째 데이터인 intArrayB에 없는 요소는 0, 4입니다. 배열을 그림으로 나타내면 다음과 같습니다. 오버로드된 두 가지 버전 LINQ의 Except() 메서드는 오버로드된 두 가지 버전이 존재합니다. public static IEnumerable Except( this IEnumerable.. C#/LINQ 2022. 7. 13. [C#]LINQ 인덱스 가져오는 방법 Select 메서드 System.Linq 네임스페이스에 존재하는 Select() 메서드는 오버로드된 두 가지 버전이 존재합니다. // 첫 번째 버전 public static IEnumerable Select( this IEnumerable source, Func selector); // 두 번째 버전 public static IEnumerable Select( this IEnumerable source, Func selector); 첫 번째 버전으로는 인덱스를 가져올 수 없으므로 이번 포스팅은 두 번째 버전에 대해 설명합니다. Select() 메서드의 첫 번째 매개 변수는 Select() 메서드가 IEnumerable 인터페이스의 확장 메서드라는 것을 의미합니다. this IEnumerable sourc.. C#/LINQ 2022. 7. 12. [C#]LINQ 데이터 필터링 방법 - Where절 Where절 LINQ의 Where문은 원본 데이터에서 일부 조건을 만족하는 데이터를 추출해야하는 경우 사용됩니다. 예를 들자면, 아래 조건을 만족하는 데이터를 추출하기 위해 Where문을 사용할 수 있습니다. - 이름이 "A"로 시작하는 문자열만 추출 - 급여가 4,000만원 이상인 직원을 추출 - 나이가 20세 이상인 사람을 추출 오버로드된 두 가지 버전 메서드 구문을 사용하여 질의를 작성하는 경우 Where() 메서드를 사용합니다. Where() 메서드는 오버로드된 두 가지 버전이 존재합니다. public static IEnumerable Where( this IEnumerable source, Func predicate); public static IEnumerable Where( this IEnu.. C#/LINQ 2022. 7. 10. 이전 1 2 3 4 다음