
C#, VB.NET 같은 .NET 언어에서 데이터를 조회하고 조작할 수 있도록 지원하는 기능으로
"컬렉션(배열, 리스트, DataTable 등)에 대해 SQL처럼 쿼리를 작성할 수 있는 기능”
을 말한다.
특징은 다음과 같다.
SQL과 굉장히 유사하게 생겼는데 순서가 약간 다르다.
from <range variable> in <source>
where <조건>
group by <그룹 기준>
orderby <정렬 기준>
select <결과>
이렇게 생겼음.
LINQ는 두가지 방법으로 사용이 가능하다.
쿼리 구문(Query Syntax)
// 리스트에서 짝수만 추출
var numbers = new List<int> { 1, 2, 3, 4, 5, 6 };
var evenNumbers = from num in numbers
where num % 2 == 0
select num;
foreach (var n in evenNumbers)
{
Console.WriteLine(n);
}
: from → where → select 순으로 작성 (SQL 방식으로 작성)
메서드 체이닝(Method Syntax)
// 리스트에서 짝수만 추출 (메서드 체이닝)
var evenNumbers = numbers
.Where(num => num % 2 == 0)
.Select(num => num);
foreach (var n in evenNumbers)
{
Console.WriteLine(n);
}
람다식으로 작성한다.
( 어차피 메모리 사용이 불필요하기 때문에 그냥 메소드에 담아서 일회용으로 사용하는 듯 )
여러개의 메소드를 만들어서 연결하는 방식으로 기존 쿼리구문보다 쉽게 작성 가능하다.
현장에서는 걍 GPT 돌려서 사용하는 것 같은데 그래도 어떻게 써먹는지는 알아야할 것 같으니
미리 공부해서 여러 방법으로 사용해보도록 한다.