Day 2 – Linq

A concise and efficient C# code example that uses LINQ to process collections. Language Integrated Query (LINQ) is a set of technologies that integrates query capabilities into the C# language.

LINQ를 사용하여 컬렉션을 처리하는 간결하고 효율적인 C# 코드 예제입니다.

What is LINQ

LINQ(Language Integrated Query)는 쿼리 기능을 C# 언어에 통합하는 기술 집합입니다. LINQ는 .NET 언어에 데이터 쿼리 기능을 추가하는 Microsoft .NET Framework 구성 요소입니다. LINQ 쿼리 식은 SQL 문과 유사하며 친숙한 C# 언어 구문을 많이 사용하므로 쉽게 읽을 수 있습니다.


Codes

Language: C#

Product.cs
public class Product
{
    public string Name { get; set; }
    public decimal Price { get; set; }
}
C#
LinqExample.cs
public class LinqExample
{
    public void DisplayProducts(List<product> products, decimal price)
    {
        var expensiveProducts = products.Where(p => p.Price >= price)
                                        .OrderBy(p => p.Name);

        foreach (var product in expensiveProducts)
        {
            Console.WriteLine($"Product: {product.Name}, Price: {product.Price}");
        }
    }
}</product>
C#
Program.cs
// Create product list
List<Product> products = new()
{
    new Product { Name = "Laptop", Price = 1200 },
    new Product { Name = "Smartphone", Price = 800 },
    new Product { Name = "Tablet", Price = 600 },
    new Product { Name = "Monitor", Price = 300 },
    new Product { Name = "Keyboard", Price = 50 },
    new Product { Name = "Mouse", Price = 25 },
    new Product { Name = "Smartwatch", Price = 250 },
    new Product { Name = "Headphones", Price = 150 },
    new Product { Name = "Speaker", Price = 100 },
    new Product { Name = "Camera", Price = 500 }
};

// Create LinqExample instance
LinqExample example = new();

// Call the DisplayProducts method to display products over 500
example.DisplayProducts(products, 500);
C#

The beauty of this code lies in:

  • Clarity:
    LINQ 쿼리는 SQL과 유사하므로 읽고 이해하기가 더 쉽습니다. Where 및 OrderBy 메서드는 각각 필터링과 정렬을 명시적으로 표현합니다.
  • Simplicity:
    LINQ를 사용하면 복잡한 루프나 조건 없이 데이터를 처리할 수 있습니다. 이렇게 하면 코드가 간결해집니다.
  • Maintenance:
    LINQ 쿼리는 수정하기 쉽고 확장성이 뛰어납니다. 필터링 조건이나 정렬 기준을 변경하려면 해당 LINQ 메서드의 인수만 변경하면 됩니다.

Links

Leave a Reply

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다