ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • LINQ의 기초
    C# 예제 공부일기 2020. 7. 28. 19:38

    LINQ는 Language-INtegrated Query의 약자로 C#에 통합된 데이터 질의 기능이다. SQL과 같은 Query 언어는 데이터베이스에서 사용되던 언어인데, 이를 C#에 도입한 것이다. LINQ를 사용하면 컬렉션에서 데이터를 다루는 방법이 훨씬 간단해진다.

    var sortedEven = from item in data
    		where item % 2 ==0
                    orderby item
                    select item;

    위 문장을 보면 from, where, orderby, select 등의 LINQ연산자가 사용되었다.

    "data 컬렉션에 있는 데이터 item으로부터 짝수인 item을 item값을 기준으로 정렬해서 선택한다. "

    는 의미를 가진다. LINQ를 사용하려면 원본 데이터가 IEnumerable이나 IEnumerable<T> 인터페이스를 상속하는 형식이어야 한다. 배열과 리스트 등의 컬렉션들은 모두 여기에 해당한다.

     

    다음 예제는 List에서 짝수 만 꺼내서 출력하는 프로그램을 기존 방법과 LINQ를 사용하는 두가지 방법을 보여준다.

     

    static void Main(string[] args)
            {
                List<int> data = new List<int> { 123, 45, 12, 89, 456, 1, 4, 74, 46 };
                List<int> IsSortedEven = new List<int>();
    
                foreach (var item in data)
                {
                    if (item % 2 == 0)
                        IsSortedEven.Add(item);
                }
                IsSortedEven.Sort();
                Console.WriteLine("조건문과 foreach를 사용한 결과 :");
                foreach (var item in IsSortedEven)
                {
                    Console.Write(item + " ");
                }
                Console.WriteLine();
                var sortedeven = from item in data
                                 where item % 2 == 0
                                 orderby item
                                 select item;
                Console.WriteLine("LINQ를 사용한 결과 :");
                foreach (var item in sortedeven)
                    Console.Write(item + " ");
                Console.WriteLine();
    
    
            }

     

Designed by Tistory.