Program.cs |
초기화(Initializer)자란 ? 이름 그대로 초기화를 처리하는 문법을 뜻합니다. 초기화자에는 (객체초기화, 중첩객체초기화, 컬렉션초기자, 초기자혼용) 이 존재 |
객체초기자 : 클래스의 객체를 선언과 동시에 초기화 하려면 생성자가 필요하고 생성자에 게 인수를 전달 하며, 객체 초기자를 사용하면 생성자 없이도 외부에서 필드 나 프로퍼티에 원하는 값을 대입하여 객체를 초기화 할 수 있습니다. 중첩 객체 초기화 : 다른 클래스에 중첨된 객체도 초기자 문법으로 초기화 컬렉션 초기자 : 컬렉션 생성문 다음의 {} 괄호 안에 요소들의 값을 콤마 로 구분 하며 나열 객체 초기자와 구분하기 위해 = 을 쓰지 않고, 요소들만 나열하고 있으며, 마치 배열을 초기화하는 형식과 비슷 초기자 혼용 : 객체 초기자와 컬렉션 초기자를 함께 사용 |
익명타입(Anonymous Type) 말 그대로 이름이 없는 타입을 뜻하며, 클래스를 선언시 이름을 지정하고 이후 이 이름으로 부터 객체를 생성하는 것이 보통이며, 한번만 사용할 타입이라면 굳이 타입을 선언한 후 객체를 생성할 필요 없이 타입 정의와 객체 생성을 한번에 처리 가능 |
//초기화자(Initilizer) : 개체, 컬렉션
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 Quantity { get; set; }
public void Print() { Console.WriteLine("{0} : {1}", Name, Quantity); }
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 = "라디오"; //생성자 초기화 //컬렉션 초기화자 : 리스트 제네릭 클래스에 상품 정보 담기 |
//익명형 (Anonymous Type) 닷넷 3.0 특징 productInfo test = new productInfo("컴퓨터", 100); //간단한 정보라면 익명형으로 Name, Quantity를 바로 생성 가능 |
}
}
'.Net Project > .Net C#' 카테고리의 다른 글
100장 쿼리표현식(LINQ) (0) | 2009.08.19 |
---|---|
99장 람다식 (0) | 2009.08.19 |
96장 그룹(Group) 알고리즘 (0) | 2009.08.18 |
95장 어트리뷰트(Attribute) (0) | 2009.08.18 |
94장 형식매개변수에 대한 제약조건 (0) | 2009.08.18 |