79. 초기화자(Initializer)
.NET프로그래밍/C# 3.5 SP1 2009. 8. 18. 17:19 |// 초기화자(Initializer) : 개체, 컬렉션
using System;
using System.Collections.Generic;
public class ProductInfo
{
// Name 속성
private string _Name;
public string Name
{
get { return _Name; }
set { _Name = value; }
}
// Quantity 자동속성 : 3.X 특징
public int Quantity { get; set; }
// Method
public void Print() { Console.WriteLine("{0} : {1}", Name, Quantity); }
// Constructor
public ProductInfo()
{
// Empty
}
public ProductInfo(string name, int quantity)
{
this.Name = name; this.Quantity = quantity;
}
}
public class 초기화자
{
public static void Main()
{
// 속성으로 초기화
ProductInfo objProduct = new ProductInfo();
objProduct.Name = "라디오";
objProduct.Quantity = 100;
objProduct.Print();
// 개체 초기화자 : 3.X 특징
ProductInfo pi = new ProductInfo() { Name = "TV", Quantity = 50 };
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));
// 3.X 특징
List<ProductInfo> pros = new List<ProductInfo>()
{
new ProductInfo("AUDIO", 3),
new ProductInfo{ Name="RADIO", Quantity=5 }
};
// 익명형(Anonymous Type) : 3.X 특징
ProductInfo test = new ProductInfo("컴퓨터", 100);
// 간단한 정보라면 익명형으로 Name, Quantity를 바로 생성 가능
var at = new { Name = "컴퓨터", Quantity = 100 };
Console.WriteLine("{0}, {1}", at.Name, at.Quantity);
}
}
'.NET프로그래밍 > C# 3.5 SP1' 카테고리의 다른 글
80. 확장메서드 (0) | 2009.08.19 |
---|---|
(테스트) 학점 계산 프로그램 (0) | 2009.08.19 |
알고리즘 - 12. 그룹(Group) (0) | 2009.08.18 |
78. 특성(Attribute) (0) | 2009.08.18 |
77. 형식매개변수에 대한 제약조건 (0) | 2009.08.18 |