C#/이펙티브 C#

아이템12. 할당 구문보다 멤버 초기화 구문이 좋다.

공부를하자 2023. 7. 3. 23:58

1.할당 구문

-선언하고 본문에 초기화 하는것.

2.멤버 초기화 구문

-선언과 동시에 초기화 하는것.

 

 

 

3.초기화 구문의 장점

-가독성이 좋다.

-변수 초기화 누락을 방지한다.

 

4.멤버 초기화를 하지 말아야 하는 경우

 1)0이나 null 값으로 초기화

   - 개의 변수 모두 0으로 초기화 한다.

   -myval1  변수 모두에 대해서 0으로 설정한다.

   -myval2 initobj라는 IL명령을 수행하는데 추가시간이 소요된다.

   -0으로 초기화를 경우 첫번째 구문이 낫다.

    *initobj:지정된 주소에서 값 형식의 각 필드를 null 참조 또는 적절한 기본 형식의 0으로 초기화합니다.

  2)객체를 반복해서 초기화하는 경우

     -labels 본문의 객체만 남고 먼저 선언되었던 초기확 구문은 가비지가 된다.

  3)예외 처리가 필요한 경우

   -멤버 초기화 구문은 try 감쌀 없다.

   -초기화 구문에서 예외가 발생하면 예외가 외부로 전파된다.

 

 

결론:

-초기화 구문을 사용하되 중복 초기화,0 null 초기화, 예외처리가 필요한 경우를 상기하자.