Unity3d C# toolba 사용해보기

C# LINQ를 알아보겠습니다.. sql쿼리네요..

안녕하세요 메르세데스입니다. C#의 진도가 팍팍 나가고있네요 .. 이번에 알아볼 것은  LINQ입니다. (Language INtegrated Query)라고해서.. 컬렉션을 편리하게 다루기위해서 만든 Query언어네요..

그동안엔 새로운 문법에 너무 익숙치 않아서 좀 힘들었는데.. 물론 지금 하려고하는것도 마찬가지지만요..  그동안 오라클(oracle)를 수년 사용해온 터라 조금 반갑기는 합니다.

델파이 이야기를 안 할 수가 없는데요.. DATA를 처리하는데 있어서 델파이나 다른 언어도 쉽지는 않을겁니다. sql를 이용해서 원하는 결과를 가져오는거 만한게 없는 것 같습니다.  2중 3중 루프를 돌려서 조건을 헤아려 이것저것 해보려고 해도 잘 안되죠.. ㅜㅜ  그런류의 요청들이 즐비하여서 제가 개발자로 일하고서 부쩍 늙었습니다 ㅜㅜ

더욱이 익숙하지 않은 C#에서.. db를 이용하지 않고 그에 준하는 요청사항을 처리해야할 때 어떻게 해야하나.. 좀 난감하긴 했는데 마침 살펴보니.. LINQ라는 게 있었네요.. 

지난시간에 공부했었던 것들중 컬렉션부분을 했었는데요.. 리스트들이죠.. 스택.. 큐...배열..  이런곳에서.. 원하는 조건의 결과값을 빼 내야할경우 DB에서 sql문으로 질의하는 수준의 문법을 제공해주네요..^^

저도 뭐 그닥 쿼리를 잘 짜지는 못하는데.. 아무튼 반갑습니다.

근데 차이가 있다면.. 문법의 순서인데요.. 특이하게도 select절이 맨 아래에 가있네요..

sql를 잘 모르는 상태에서 입문하려고 할때 조금 어려우실 수 도 있을거라 생각이들지만 배워둔다면 큰 도움이 될거라 생각합니다.


C#LINQ_ex

var result 로.. 변수를 선언했는데.. 모든 타입을 받아내려고 이렇게 한거죠.. 
from(어디있는 데이터를?) ... where(어떻게? 조건..) ...orderby(정렬순서) select(추출하는 항목) 순으로 합니다.  

예제를 한번 돌려보겠습니다.


C#LINQ_ex2


배열을 선언해서.. 값들을 집어넣었고요..   
number라는 배열안에서..  짝수인것들을 조회하는데.. 큰수부터 내림차순으로 정렬해서 결과를 가져오라는 조건입니다. 어떤가요? 
뭐.. 이정도 수준의 프로그램이면 구지 LINQ를 사용하지 않더라도 구하는데 어려움이 없을것입니다 근데 조건이 좀 더 복잡해지면 머리가 아플지도 모르겠습니다.  가령.. 평균값을 구하라던가.. 다른 배열과 조인해서 중복되는 값을 가져오라던가.. ㅜㅜ 

우선 이정도로 마치고.. 좀 더 자세히 알아보도록 하겠습니다. 감사합니다.









댓글