PROGRAMING/C#

암시적인 타입을 적용한 지역변수와 익명 타입

파란실버라이트 2011. 3. 31. 21:49

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AnonymousType
{
    class Program
    {
        static void Main(string[] args)
        {
            int num = 1;
            string[] names = { "nuna", "yourphone", "andromedaphone" };

            var pairs = names.Select(name => new { num = num++, name = name }).ToList();

            foreach (var pair in pairs)
            {
                Console.WriteLine("num : {0}, name : {1}", pair.num, pair.name);
            }

        }
    }
}
암시적인 타입을 적용한 지역변수(Implicitly tped local cariabble)  var pairs
어떤 타입 리턴 될지 명확하지 않은 경우에, 그냥 var 타입으로 받아서 컴파일러가 타입 유추를 하도록 하는 기능

익명 타입(Anonymous type)  : new { num = num++, name = name }
LINQ의 쿼리 중간 과정으로 생기는 새로운 타입을 굳이 Class로 정의하지 않아도 , 필요할 때 익명타입으로 객체를 만들어 낼 수 있는 기능