상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - C#에서 LINQ의 Select, Where, OrderBy는 어떻게 사용하나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
C 에서 <a href='https://sangseek.com/sangseeks/LINQ/ko'>LINQ</a>(언어 통합 쿼리)는 데이터 소스에 대해 쿼리를 작성할 수 있는 강력한 기능을 제공합니다. LINQ를 사용하면 데이터베이스, XML, 컬렉션 등 다양한 데이터 소스에 대해 쿼리를 작성할 수 있습니다. LINQ의 주요 메서드 중 `Select`, `W<a href='https://sangseek.com/sangseeks/here/ko'>here</a>`, `<a href='https://sangseek.com/sangseeks/OrderBy/ko'>OrderBy</a>`는 데이터 필터링, 변환 및 <a href='https://sangseek.com/sangseeks/정렬/ko'>정렬</a>을 수행하는 데 사용됩니다. 아래에서 각 메서드의 사용법과 예제를 자세히 설명하겠습니다. 1. Select `Select` 메서드는 컬렉션의 각 요소를 변환하여 새로운 형태의 컬렉션을 생성합니다. 주로 특정 속성만 선택하거나, 새로운 객체를 생성할 때 사용됩니다. 사용법 ```csharp var result = collection.Select(item => new { item.Property1, item.Property2 }); ``` 예제 ```csharp using System; using System.Collections.Generic; using System.Linq; public class Product { public string Name { get; set; } public decimal Price { get; set; } } public class Program { public static void Main() { List<Product> products = new List<Product> { new Product { Name = "Apple", Price = 1.2m }, new Product { Name = "Banana", Price = 0.5m }, new Product { Name = "Cherry", Price = 2.0m } }; var productNames = products.Select(p => p.Name); foreach (var name in productNames) { Console.WriteLine(name); } } } ``` 위 예제에서 `Select`를 사용하여 `Product` 객체의 `Name` 속성만 선택하여 새로운 컬렉션을 생성했습니다. 2. Where `Where` 메서드는 조건에 맞는 요소만 필터링하여 새로운 컬렉션을 반환합니다. 주로 특정 조건을 만족하는 요소를 찾을 때 사용됩니다. 사용법 ```csharp var result = collection.Where(item => item.Property == value); ``` 예제 ```csharp using System; using System.Collections.Generic; using System.Linq; public class Product { public string Name { get; set; } public decimal Price { get; set; } } public class Program { public static void Main() { List<Product> products = new List<Product> { new Product { Name = "Apple", Price = 1.2m }, new Product { Name = "Banana", Price = 0.5m }, new Product { Name = "Cherry", Price = 2.0m } }; var expensiveProducts = products.Where(p => p.Price > 1.0m); foreach (var product in expensiveProducts) { Console.WriteLine(product.Name); } } } ``` 위 예제에서는 `Where`를 사용하여 가격이 1.0 이상인 제품만 필터링하여 출력했습니다. 3. OrderBy `OrderBy` 메서드는 컬렉션의 요소를 특정 속성을 기준으로 오름차순으로 정렬합니다. 내림차순 정렬을 원할 경우 `OrderByDescending` 메서드를 사용합니다. 사용법 ```csharp var result = collection.OrderBy(item => item.Property); ``` 예제 ```csharp using System; using System.Collections.Generic; using System.Linq; public class Product { public string Name { get; set; } public decimal Price { get; set; } } public class Program { public static void Main() { List<Product> products = new List<Product> { new Product { Name = "Apple", Price = 1.2m }, new Product { Name = "Banana", Price = 0.5m }, new Product { Name = "Cherry", Price = 2.0m } }; var sortedProducts = products.OrderBy(p => p.Price); foreach (var product in sortedProducts) { Console.WriteLine($"{product.Name}: {product.Price}"); } } } ``` 위 예제에서는 `OrderBy`를 사용하여 제품을 가격 기준으로 오름차순으로 정렬하여 출력했습니다. 결합 사용 LINQ의 강력한 점은 이러한 메서드들을 결합하여 사용할 수 있다는 것입니다. 예를 들어, 특정 조건을 만족하는 요소를 선택하고, 그 결과를 정렬할 수 있습니다. 예제 ```csharp using System; using System.Collections.Generic; using System.Linq; public class Product { public string Name { get; set; } public decimal Price { get; set; } } public class Program { public static void Main() { List<Product> products = new List<Product> { new Product { Name = "Apple", Price = 1.2m }, new Product { Name = "Banana", Price = 0.5m }, new Product { Name = "Cherry", Price = 2.0m } }; var sortedExpensiveProducts = products .Where(p => p.Price > 1.0m) .OrderBy(p => p.Price) .Select(p => new { p.Name, p.Price }); foreach (var product in sortedExpensiveProducts) { Console.WriteLine($"{product.Name}: {product.Price}"); } } } ``` 위 예제에서는 가격이 1.0 이상인 제품을 필터링한 후, 가격 기준으로 정렬하고, 이름과 가격만 선택하여 출력했습니다. 결론 LINQ의 `Select`, `Where`, `OrderBy` 메서드는 데이터 처리에서 매우 유용한 도구입니다. 이 메서드들을 적절히 활용하면 코드의 가독성을 높이고, 복잡한 데이터 조작을 간결하게 수행할 수 있습니다. LINQ를 통해 C 에서 데이터 쿼리를 작성하는 것은 매우 직관적이며, 다양한 데이터 소스에 대해 일관된 방식으로 접근할 수 있는 장점을 제공합니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기