Section 3.9: 기본 (default) 연산자
값 (Value) 타입 (where T : struct)
내장 기본 데이터 타입인 char
, int
, 그리고 float
을 비롯하여, struct
나 enum
으로 선언된 사용자 정의 타입들의 기본 값은 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 |