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/
'번역 > C# Notes for Professionals' 카테고리의 다른 글
20.12: 하나의 배열이 다른 배열의 내용을 포함하고 있는지 검사하기 (0) | 2021.05.10 |
---|---|
20.11: IEnumerable<> 인스턴스로의 배열 (0) | 2021.05.10 |
20.9: 가변 배열 (Jagged array) (0) | 2021.04.30 |
20.8: 순차열 (sequentual) 숫자들로 이루어진 배열 생성하기 (0) | 2021.04.22 |
20.7: 배열에 대해 요소 반복 (iterate) 수행하기 (0) | 2021.04.22 |