[C#]19.LINQ와 데이터
- 프로그래밍 언어 - C#
- 2019. 1. 20. 17:48
안녕하세요 유랑입니다.
이번 시간에는 LINQ에 대해서 알아보겠습니다.
LINQ는 컬렉션을 편리하게 다루기 위해서 만들어진 언어입니다.
어떻게 쓰이는지 한 번 알아볼까요?
1. LINQ
LINQ는 데이터를 찾고 병합하고 정렬하는 부분을 해결해 줍니다.
방대한 데이터를 다룰 때 더욱 더 필요한 것 같네요.
과연 이런 데이터 작업은 어떻게 하는 것일까요.
1-1) LINQ의 기본
LINQ 쿼리식은 반드시 from 절로 시작합니다.
어떤 데이터에서 찾을 것인지, 정렬과 추출 결과 등 LINQ에서 제공되는 조건으로 출력합니다.
코드를 통해서 알아보겠습니다.
1-2) from, where, orderby, select
from말고도 LINQ 쿼리식에는 다양한 역할을 하는 연산자가 있습니다.
where, orderby, select 등이 있는데요.
위에서도 진행하였지만 어떤 기능을 하며 결과가 어떻게 되는지 알아보겠습니다.
1-3) 여러 개의 데이터
여러 개의 데이터를 다룰 때는 from을 중첩해서 사용하는 것이 가능합니다.
foreach 문을 중첩해서 사용하는 것과 유사하다고 생각해 주세요.
자세한건 코드을 통해서 알아보겠습니다.
1-4) group by - 데이터 분류
분류 기준에 따라 데이터를 그룹화시켜준다면 더할 나위 없이 좋을 것 입니다.
group by 절을 통해서 분류해 보겠습니다.
1-5) join - 데이터 연결
join은 두 데이터 원본을 연결하는 연산입니다.
각 데이터 원본에서 특정 필드의 값을 비교하여 연결하는데요.
조인은 내부 조인과 외부 조인이 존재하며,
내부 조인은 교집합과 비슷하며 외부 조인은 모든 데이터를 조인 결과에 포함시킵니다.
1-6) LINQ의 비밀
LINQ는 데이터 질의 코드를 작성할 수 있습니다.
LINQ 쿼리식을 분해해서 일반적인 메소드 호출 코드를 만들어 내는 것인데요.
글보다는 코드를 통해서 알아보겠습니다.
1-7) LINQ 표준 연산자
LINQ 표준 연산자들은 생각보다 많습니다.
OrderBy, Distinct, OfType, All, Cast 등 너무 많이 있는데요.
그런데 LINQ 연산 메소드 중에서 C# 쿼리식을 지원하는 것은 달랑 11개 뿐이네요.
나머지 42개의 메소드를 어떻게 활용할 수 있을까 하는 부분을 코드를 통해서 알아보겠습니다.
2. 마무리
오늘은 LINQ에 대해서 배워보았습니다.
데이터를 찾거나 정렬할 때 도와주는 LINQ는 아직 까지는 너무 어렵게 느껴지네요.
데이터를 계속 쓰일 상황이 생길 때 다시 찾아볼것 같네요.
오늘도 고생하셨습니다.
감사합니다.
수업자료: https://github.com/YouRang12/-Tistory-CShop---Basic