1.할당 구문
-선언하고 본문에 초기화 하는것.

2.멤버 초기화 구문
-선언과 동시에 초기화 하는것.

3.초기화 구문의 장점
-가독성이 좋다.
-변수 초기화 누락을 방지한다.
4.멤버 초기화를 하지 말아야 하는 경우
1)0이나 null 값으로 초기화 할 때

-두 개의 변수 모두 0으로 초기화 한다.
-myval1은 변수 모두에 대해서 0으로 설정한다.
-myval2은 initobj라는 IL명령을 수행하는데 추가시간이 소요된다.
-0으로 초기화를 할 경우 첫번째 구문이 낫다.
*initobj:지정된 주소에서 값 형식의 각 필드를 null 참조 또는 적절한 기본 형식의 0으로 초기화합니다.
2)객체를 반복해서 초기화하는 경우

-labels은 본문의 객체만 남고 먼저 선언되었던 초기확 구문은 가비지가 된다.
3)예외 처리가 필요한 경우
-멤버 초기화 구문은 try로 감쌀 수 없다.
-초기화 구문에서 예외가 발생하면 예외가 외부로 전파된다.
결론:
-초기화 구문을 사용하되 중복 초기화,0과 null로 초기화, 예외처리가 필요한 경우를 상기하자.
'C# > 이펙티브 C#' 카테고리의 다른 글
| 아이템15.불필요한 객체를 만들지 마라 (0) | 2023.07.19 |
|---|---|
| 아이템 13. 정적 클래스 멤버를 올바르게 초기화하라. (0) | 2023.07.05 |
| 아이템11. NET 리소스 관리에 대한 이해 (0) | 2023.07.02 |
| 아이템9.박싱과 언박싱을 최소화하라. (0) | 2023.06.30 |
| 아이템8.이벤트 호출 시에는 null 조건 연산자를 사용하라. (0) | 2023.06.29 |