Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

nomad-programmer

[Programming/C#] 무명 형식의 프로퍼티 본문

Programming/C#

[Programming/C#] 무명 형식의 프로퍼티

scii 2020. 9. 14. 00:40

이름이 없는 형식, 즉 "무명 형식 (Anonymous Type)" 의 프로퍼티를 정의할 수 있다.

무명 형식은 형식의 선언과 동시에 인스턴스를 할당한다. 이 때문에 인스턴스를 만들고 다시는 사용하지 않을 때 요기하게 쓰인다.

// 괄호 사이에 임의의 프로퍼티 이름을 적고 값을 할당하면 그대로 새 형식의 프로퍼티가 된다.
var myInstance = new { Name = "test", Age = 17 };

Console.WriteLine( myInstance.Name, myInstance.Age );

무명 형식에는 주의할 점이 있다. 그것은 무명 형식의 프로퍼티에 할당된 값은 변경 불가라는 점이다. 
한마디로 한번 무명 형식의 인스턴스가 만들어지고 난 다음에는 읽기만 할 수 있다는 것이다. 이러한 특징들을 보면 무명 형식이 무용지물인 것만 같은 느낌을 주지만 LINQ와 함께 사용하면 아주 유용하게 쓰인다.

using System;

namespace CSharpExample
{

    class MainApp
    {
        static int Main(string[] args)
        {
            var a = new { Name = "haha", Age = 17 };
            Console.WriteLine($"Name: {a.Name}, Age: {a.Age}");

            var b = new { Subject = "수학", Scores = new int[] { 90, 80, 70, 60 } };
            Console.WriteLine($"Subject: {b.Subject}, Scores: ");
            foreach(var score in b.Scores)
            {
                Console.Write($"{score} ");
            }
            Console.WriteLine();

            return 0;
        }
    }
}


/* 결과

Name: haha, Age: 17
Subject: 수학, Scores:
90 80 70 60

*/
Comments