프로그래밍/C#

[C#] LINQ의 종류와 예제

흔한티벳여우 2023. 6. 9. 08:59
반응형

안녕하세요, 오늘은 C#에서 사용되는 LINQ(Language Integrated Query)에 대해 알아보려고 합니다. LINQ는 데이터를 조회하고 조작하는 강력한 기능을 제공하는 C#의 주요 기능 중 하나입니다. LINQ는 다양한 종류가 있으며, 이 글에서는 그 중 몇 가지를 살펴보고 각각에 대한 예제를 제공하겠습니다.

 

1. LINQ to Objects

LINQ to Objects는 메모리에 있는 데이터에 대해 쿼리를 수행합니다. 이는 배열이나 리스트와 같은 컬렉션에 대해 사용됩니다.

List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
var evenNumbers = from num in numbers
                  where num % 2 == 0
                  select num;

위의 예제에서는 numbers 리스트에서 짝수를 선택하는 LINQ 쿼리를 보여줍니다.

 

2. LINQ to SQL

LINQ to SQL은 SQL 데이터베이스에 대해 쿼리를 수행합니다. 이를 통해 데이터베이스 테이블을 객체로 취급하고 SQL 쿼리를 C# 코드로 작성할 수 있습니다.

DataClasses1DataContext dbContext = new DataClasses1DataContext();
var customers = from customer in dbContext.Customers
                where customer.City == "London"
                select customer;

위의 예제에서는 "London"에 사는 모든 고객을 선택하는 LINQ to SQL 쿼리를 보여줍니다.

 

3. LINQ to XML

LINQ to XML은 XML 데이터에 대해 쿼리를 수행합니다. 이를 통해 XML 문서를 쉽게 읽고 쓸 수 있습니다.

XElement books = XElement.Load("Books.xml");
var titles = from book in books.Elements("book")
             where (int)book.Element("price") > 20
             select book.Element("title").Value;

위의 예제에서는 가격이 20 이상인 모든 책의 제목을 선택하는 LINQ to XML 쿼리를 보여줍니다.

 

4. LINQ to Entities

LINQ to Entities는 Entity Framework를 사용하여 데이터베이스에 대해 쿼리를 수행합니다. 이를 통해 데이터베이스 테이블을 객체로 취급하고 SQL 쿼리를 C# 코드로 작성할 수 있습니다.

using (var context = new SampleContext())
{
    var query = from c in context.Customers
                where c.City == "London"
                select c;
}

위의 예제에서는 "London"에 사는 모든 고객을 선택하는 LINQ to Entities 쿼리를 보여줍니다.

 


 

이상으로 C#에서 사용되는 LINQ의 주요 종류와 각각에 대한 예제를 살펴보았습니다. LINQ는 C#에서 데이터를 효율적으로 처리하는 데 매우 유용한 도구입니다. 각각의 LINQ 종류는 특정 데이터 소스에 대해 최적화되어 있으며, 이를 이해하고 적절히 활용하면 데이터 처리 작업을 훨씬 쉽고 효율적으로 수행할 수 있습니다.

반응형