Section 32.1: Boxing 된 값 타입 변환하기

Boxing 된 값 타입은 원래의 타입으로만 Unboxing 이 가능하며, 이 제약은 두 타입간에 유효한 타입 변환 (valid conversion) 이 존재한다고 해도 마찬가지로 적용된다. 다음 예제를 확인한다:

object boxedInt = (int)1; // int 값이 object 로 Boxing 되었다 long unboxedInt1 = (long)boxedInt; // 유효하지 않은 타입 변환이다

이러한 경우, 먼저 원래의 타입으로 Unboxing 을 수행한 후 타입 변환을 하는 방법을 사용할 수 있다. 다음 예제를 확인한다:

long unboxedInt2 = (long)(int)boxedInt; // 유효한 변환이다
본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

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

반응형

+ Recent posts