Blog Content

    티스토리 뷰

    78.C# - 초기화자

    반응형
    Program.cs
    using System;
    using System.Collections.Generic;

    public class ProductInfo
    {
        //Name 속성
        private string _Name;
        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }
        //Quantity 자동 속성 : 3.0의 특징
        public int Quantitiy { get; set; }

        //Method
        public void Print() { Console.WriteLine("{0} {1}", Name, Quantitiy); }

        //Constructor
        public ProductInfo(string name, int quantity)
        {
            this.Name = name; this.Quantitiy = quantity;
        }
        public ProductInfo()
        {
            //Empty
        }
    }

    public class 초기화자 //생성자를 만들고 생성자 값을 초기화
    {
        public static void Main()
        {
            //속성으로 초기화
            ProductInfo objProduct = new ProductInfo();//매개변수 없는 생성자생성
            objProduct.Name = "라디오"; objProduct.Quantitiy = 100; // 값을 초기화
            objProduct.Print();

            //개체 초기화자 사용으로 코드 줄이기
            ProductInfo pi = new ProductInfo() { Name = "TV", Quantitiy = 50 };
           //객체 생성과 동시에 값을 초기화 이것을 객체 초기화 하 함 C# 3.0의 특징
               (3.0이상에서 사용하삼이외에는 애러) 3.0의 가장 큰 특징은 긴걸 짧게 표현

            pi.Print();

            //생성자로 초기화
            ProductInfo pro = new ProductInfo("DVD", 30);
            pro.Print();

            //컬렉션 초기화자 : 리스트 제네릭 클래스에 상품 정보 담기
            List<ProductInfo> lst = new List<ProductInfo>();
            lst.Add(new ProductInfo("AUDIO", 3));
            lst.Add(new ProductInfo("RADIO", 5));
           
            //c# 3.0의 특징

            List<ProductInfo> pros = new List<ProductInfo>()
            {
                new ProductInfo("AUDIO",3),
                new ProductInfo("RADIO",5), //생성자로 표현가능하고
                new ProductInfo{ Name="PHONE", Quantitiy=5 } //객체 초기화
            };

            //익명형(Anonymous Type) : C# 3.0의 특징
            ProductInfo test = new ProductInfo("컴퓨터", 100);
            //간단한 정보라면 익명형으로 Name, Quantity를 바로 생성 가능
            var at = new { Name = "컴퓨터", Quantity = 100 };
            Console.WriteLine("{0} ,{1}", at.Name, at.Quantity); //무명속성
        }
    }

    결과화면


    78.초기화자.zip
    다운로드

    반응형

    Comments