Section 3.9: 기본 (default) 연산자

값 (Value) 타입 (where T : struct)

내장 기본 데이터 타입인 char, int, 그리고 float 을 비롯하여, structenum 으로 선언된 사용자 정의 타입들의 기본 값은 new T() 와 동일하다 :

default(int) // 0 default(DateTime) // 0001-01-01 12:00:00 AM default(char) // '\0' - "null 문자" 를 나타내는 것으로써, 숫자 0 이나 행바꿈 문자가 아니다. default(Guid) // 00000000-0000-0000-0000-000000000000 default(MyStruct) // new MyStruct() // 주의: enum 의 기본값은 해당 enum 의 첫번째 *key* 가 아닌 0 이 된다. // 따라서 이 결과는 잠재적으로 Enum.IsDefined 테스트를 통과하지 못할 가능성이 있다 default(MyEnum) // (MyEnum)0

참조 (Reference) 타입 (where T : class)

어떠한 class, interface, array 혹은 delegate 타입이든 그 기본 값은 null 이 된다:

default(object) // null default(string) // null default(MyClass) // null default(IDisposable) // null default(dynamic) // null
본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

[출처] https://books.goalkicker.com/CSharpBook/

반응형

'번역 > C# Notes for Professionals' 카테고리의 다른 글

3.11: sizeof  (0) 2020.11.05
3.10: 대입 (assignment) 연산자 '='  (0) 2020.11.05
3.8: 배타적 논리합 ("exclusive or") 연산자  (0) 2020.11.04
3.7: ?. (Null 조건부 연산자)  (0) 2020.11.03
3.6: ? : 삼항 연산자  (0) 2020.11.02

+ Recent posts