Section 20.10: 배열 공변성 (covariance)

string[] strings = new[] {"foo", "bar"}; object[] objects = strings; // string[] 에서 object[] 로의 묵시적 (implicit) 변환

이러한 변환은 type-safe 하지 않다. 다음 코드는 런타임 예외를 발생시킬 것이다:

string[] strings = new[] {"Foo"}; object[] objects = strings; objects[0] = new object(); // runtime 예외 발생, object 는 string 이 아니다 string str = strings[0]; // 이전 대입문이 예외를 발생시키지 않고 실행되었다면 여기서 문제가 발생했을 것이다
본 문서는 C# Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

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

반응형

+ Recent posts