반응형
LINQ는 Language-Integrated Query의 약어로 "통합된 데이터 쿼리어"의 의미입니다.
배열 또는 리스트 등 컬렉션 데이터를 가공할 때 편리하게 사용될 수 있습니다.
namespace |
namespace: System.Linq; |
Linq: 확장 메서드
Linq에서는 다음과 같은 확장 메서드를 제공합니다.
- Sum() 합
- Average() 평균
- Count() 개수
- Max() 최대값
- Min() 최소값
private void button1_Click(object sender, EventArgs e)
{
int[] a = { 4, 1, 5, 2, 3 };
a.Sum();
listBox1.Items.Add(a.Sum());
listBox1.Items.Add(a.Count());
listBox1.Items.Add(a.Average());
listBox1.Items.Add(a.Max());
listBox1.Items.Add(a.Min());
}
Linq: 기본 구문
Linq의 기본 구분은 다음과 같습니다.
LINQ 기본 구문 |
var 변수1 = from 변수 in 데이터원본 [ where 조건 ] [ orderby 정렬 ] select 출력할_값; |
예제 1
배열의 각 요소의 값에서 1을 더한 요소를 출력하는 Linq 예제입니다.
private void button2_Click(object sender, EventArgs e)
{
int[] numbers = { 55, 44, 66, 99, 33, 22, 11 };
var result = from n in numbers
select n + 1
foreach (int a in result)
listBox1.Items.Add(a);
}
예제 2
배열에서 짝수만 출력하는 Linq의 예제입니다.
private void button2_Click(object sender, EventArgs e)
{
int[] numbers = { 55, 44, 66, 99, 33, 22, 11 };
var result = from n in numbers
where n >=50 // ------- 50 이상의 값
select n;
foreach (int a in result)
listBox1.Items.Add(a);
}
예제 3
배열에서 짝수만, 내림차순으로 정렬하여 출력하는 Linq의 예제입니다.
private void button2_Click(object sender, EventArgs e)
{
int[] numbers = { 55, 44, 66, 99, 33, 22, 11 };
var result = from n in numbers
where n%2 == 0
orderby n descending
select n;
foreach (int a in result)
listBox1.Items.Add(a);
}
반응형
'C# > C#_기초강의' 카테고리의 다른 글
(C#) 1차원 배열의 요소를 앞으로 1칸씩 이동하기 (0) | 2023.04.24 |
---|---|
(C#) 1차원 배열의 요소를 뒤로 1칸씩 이동하기 (0) | 2023.04.24 |
(C#) 람다식(Lambda expression), 화살표 연산자(=>) 기초 (0) | 2023.04.23 |
(C#) List<T> 리스트 제네릭 클래스(Generic Class) (0) | 2023.04.23 |
(C#) 델리게이트(Delegate) 기초 (0) | 2023.04.23 |