2008-11-06 7 views
13

.NET을 사용하여 int, structs 등과 같은 필드를 초기화 할 수 있습니까? 그리고 그 필드를 초기화하고 싶다면 - 그 반향이 될 수있는 것은 무엇입니까?기본값으로 필드를 초기화하는 것이 중복 됨

+0

이 태그'resharper'입니다 tamberg? – developerbmw

+1

@developerbmw - ReSharper가 다음과 같은 사실을 경고하기 때문에 this는 * resharper로 태그되었습니다 : [link] (https://confluence.jetbrains.com/display/ReSharper/Redundant+field+initializer) –

+0

Thanks @WaiHaLee – developerbmw

답변

18

C# specification 상태 (17.4.4)

필드의 초기 값은, 그 고정 필드 또는 인스턴스 필드 될 것인지, 디폴트 값 (§12.2)의 필드 유형 이 기본 초기화가 발생하기 전에 필드의 값을 관찰 할 수 없습니다. 필드는 결코 "초기화되지 않았습니다."

안부, 왜 지구에

12

예, .NET을 사용하여 필드를 기본값으로 초기화 할 수 있습니다. 기본적으로 명시 적으로 수행 할 때 아무런 반향이 없습니다. 여기에 한 가지주의 할 점이 있습니다. 정적 필드를 명시 적으로 초기화하면 리플렉션을 통해 유형 초기화 프로그램을 두 번째 실행하는 사용자는 해당 필드를 다시 초기화해야합니다. 특정 코드베이스에서 대부분의 가독성. p.305에

관련 문제