C#/LINQ45 [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. [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 특정 타입 추출하는 방법 - OfType 메서드 LINQ의 OfType 메서드 LINQ의 OfType() 메서드는 특정 타입의 데이터를 추출하기 위해 사용되는 메서드입니다. 예를 들어 List의 타입이 Object인 경우 string, int, boolean 등.. 모든 타입의 값을 가질 수 있습니다. 해당 List 객체에서 string 타입의 값만 추출하고 싶은 경우 OfType() 메서드를 사용할 수 있습니다. 다음 예제는 OfType() 메서드를 사용하여 string 타입의 값을 추출하는 방법입니다. class Program { static void Main(string[] args) { // Object 타입인 List 객체는 모든 타입의 값을 가질 수 있습니다. List allTypeList = new List() { "C Sharp", 10.. C#/LINQ 2022. 7. 12. 이전 1 2 3 4 다음