C#/이것이 C#이닀

43. 무λͺ… ν˜•μ‹

Rainbow🌈Coder 2022. 2. 23. 12:19
728x90

무λͺ… ν˜•μ‹μ€ ν˜•μ‹μ˜ μ„ μ–Έκ³Ό λ™μ‹œμ— μΈμŠ€ν„΄μŠ€λ₯Ό ν• λ‹Ήν•œλ‹€.

이 λ•Œλ¬Έμ—... μΈμŠ€ν„΄μŠ€λ₯Ό λ§Œλ“€κ³  λ‹€μ‹œλŠ” μ‚¬μš©ν•˜μ§€ μ•Šμ„ λ•Œ 무λͺ… ν˜•μ‹μ΄ μš”κΈ΄ν•˜λ‹€.

(두 개 μ΄μƒμ˜ μΈμŠ€ν„΄μŠ€λ₯Ό λ§Œλ“€λ €λ©΄ classλ‚˜ structλ₯Ό μ΄μš©ν•΄ 이름을 κ°€μ§„ ν˜•μ‹μ„ λ³„λ„λ‘œ λ§Œλ“€μ–΄μ•Ό ν•œλ‹€.)

 

무λͺ… ν˜•μ‹μ˜ 예

var myInstance = new {Name="λ°•μƒν˜„", Age="17"};

κ΄„ν˜Έ { 와 } 사이에 μž„μ˜μ˜ ν”„λ‘œνΌν‹° 이름을 적고 값을 ν• λ‹Ήν•˜λ©΄ κ·ΈλŒ€λ‘œ μƒˆ ν˜•μ‹μ˜ ν”„λ‘œνΌν‹°κ°€ λœλ‹€.

 

μœ„μ™€ 같이 μ„ μ–Έν•œ 무λͺ… ν˜•μ‹μ˜ μΈμŠ€ν„΄μŠ€λŠ” μ—¬λŠ 객체처럼 ν”„λ‘œνΌν‹°μ— μ ‘κ·Όν•˜μ—¬ μ‚¬μš©ν•  수 μžˆλ‹€.

 

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

 

무λͺ… ν˜•μ‹μ—μ„œ μ£Όμ˜ν•  점은,

무λͺ… ν˜•μ‹μ˜ ν”„λ‘œνΌν‹°μ— ν• λ‹Ήλœ 값은 λ³€κ²½λΆˆκ°€λŠ₯ν•˜λ‹€λŠ” 것이닀.

 

무λͺ… ν˜•μ‹μ˜ μΈμŠ€ν„΄μŠ€κ°€ λ§Œλ“€μ–΄μ§€κ³  λ‚œ λ‹€μŒμ—λŠ” 읽기만 ν•  수 μžˆλ‹€λŠ” 이야기.

(LINQ와 ν•¨κ»˜ μ‚¬μš©ν•˜λ©΄ μ•„μ£Ό μš”κΈ΄ν•  것)

 

<예제>

using System;

namespace AnonymousType
{
    class MainApp
    {
        static void Main(string[] args)
        {
            var a = new {  Name="λ°•μƒν˜„", Age= 123 };
            Console.WriteLine($"Name:{a.Name}, Age:{a.Age}");

            var b = new { Subject = "μˆ˜ν•™", Score = new int[] { 90,80,70,60} };
            Console.Write($"Subject:{b.Subject}, Score: ");
            foreach (var score in b.Score)
                Console.Write($"{score}" );

            Console.WriteLine();

            var c = new { Object = "λ¬΄μ§€κ°œ", Color = new string[] { " red ", " orange ", " yellow ", " green ", " blue ", " cobalt ", " purple " } };
            Console.Write($"Object:{c.Object}, Color: ");
            foreach (var color in c.Color)
                Console.Write($"{color}");

            Console.WriteLine();

        }
    }
}

 

<좜λ ₯ κ²°κ³Ό>

Name:λ°•μƒν˜„, Age:123
Subject:μˆ˜ν•™, Score: 90807060
Object:λ¬΄μ§€κ°œ, Color:  red  orange  yellow  green  blue  cobalt  purple

 

 

<μ—°μŠ΅>

using System;

namespace PropertiesInterface
{
    class MainApp
    {
        static void Main(string[] args)
        {
            var a = new { Name = "λ°•μƒν˜„", Age = 123 };
            var b = new { Subject = new string[] { "Math", "Art", "Computer" } };
            Console.WriteLine("Subject : ");
            foreach(var subjectlist in b.Subject)
            {
                Console.WriteLine(subjectlist);
            }
        }
    }
}

<좜λ ₯ κ²°κ³Ό>

Subject :
Math
Art
Computer
728x90