8장 - C# 3.0 - 1

2015. 1. 6. 00:12IT Books/시작하세요 C# 프로그래밍

var 예약어


C# 컴파일러는 빌드 시점에 var키워드가 있는 자리를 타입 추론에 의해 실제 타입으로 치환해 준다.

좀 더 정확히는 컴파일 시에 변수의 형식이 고정된다는 것을 기억하고 쓰자.


자동 구현 속성


public string Name { get; set; }

이런 코드가 있다면 

C# 컴파일러는 빌드 시에 자동으로 다음과 같이 확장ㅇ하여 컴파일한다.

private string... (Name 속성에 대응되는 고유식별자]

public string Name

{

    ...

}


또 하나의 특징이라면 get / set에 다른 접근 제한자를 지정할 수 있다.

{ get; protected set; }



생성자를 이용한 상태 변수 초기화


 
new 구문에서 보기와 같이 {} 중괄호를 이용해 속성 이름과 값을 지정하여 초기화 하는 것이 가능하다.
물론 생성자와 함께 공용 초기화 구문을 같이 써도 된다.

복잡하게 조건 생성자를 많이 만들 필요가 없어졌다.

컬렉션 초기화

컬렉션을 위와 같이 간편하게 초기화 할 수 있다.
다만 전제 조건이 있는데,
사용하는 컬렉션이 반드시 ICollection 인터페이스를 구현해야만
컴파일러가 Add 메서드를 자동으로 넣어주며 초기화가 되는것이다.

익명 타입

var로 선언한 p는 타입명을 지정하지 않았다.

이 코드를 빌드 시에 컴파일러는 위의 AnonymousType 클래스와 같은 코드를 생성해 준다.

'IT Books > 시작하세요 C# 프로그래밍' 카테고리의 다른 글

8장 - C# 3.0 - 3  (0) 2015.01.12
8장 - c# 3.0 - 2  (0) 2015.01.10
7장 - c#2.0 - 그외  (0) 2014.12.28
7장 - c#2.0 - 제네릭  (0) 2014.12.25
6장 - 리플렉션2 (확장모듈 만들어보기)  (0) 2014.12.24