본문 바로가기
asp.net

[.net] LINQ

by TTTGGG 2024. 7. 5.
728x90
반응형
SMALL

LINQ(Language Integrated Query)는 데이터 쿼리를 수행하기 위한 강력하고 유연한 도구.

SQL 쿼리와 유사한 구문을 사용하여 배열, 컬렉션, XML,데이터베이스 등의 데이터를 쉽게 처리할 수 있음.

 

쿼리구문

int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

var evenNumbers = from num in numbers
                  where num % 2 == 0
                  select num;

foreach (var num in evenNumbers)
{
    Console.WriteLine(num);
}

 

메서드 구문

var evenNumbers = numbers.Where(num => num % 2 == 0);

foreach (var num in evenNumbers)
{
    Console.WriteLine(num);
}

 

주요 LINQ 연산자

Where

Select

OrderBy

ThenBy

GroupBy

Join

Aggregate

Any

All

First

FirstOrDefault

 

LINQ 예제

var students = new List<Student>
{
    new Student { Name = "Alice", Age = 20 },
    new Student { Name = "Bob", Age = 18 },
    new Student { Name = "Charlie", Age = 22 }
};

var adultStudents = from student in students
                    where student.Age >= 20
                    select new { student.Name, IsAdult = true };

foreach (var student in adultStudents)
{
    Console.WriteLine($"{student.Name} is an adult: {student.IsAdult}");
}

 

 

var products = new List<Product>
{
    new Product { Name = "Apple", Category = "Fruit" },
    new Product { Name = "Banana", Category = "Fruit" },
    new Product { Name = "Carrot", Category = "Vegetable" }
};

var groupedProducts = from product in products
                      group product by product.Category into productGroup
                      select productGroup;

foreach (var group in groupedProducts)
{
    Console.WriteLine($"Category: {group.Key}");
    foreach (var product in group)
    {
        Console.WriteLine($"  {product.Name}");
    }
}

728x90
반응형
LIST

'asp.net' 카테고리의 다른 글

[.net] TempData  (0) 2024.07.19
[.net] ViewBag  (0) 2024.07.10
[.net] mvc 웹 프로젝트(5)  (0) 2024.06.27
[.net] mvc 웹 프로젝트(4)  (0) 2024.06.27
[.net] mvc 웹 프로젝트(3)  (0) 2024.06.27