>백엔드 개발 >C++ >왜 '목록'을 C#의 '목록'으로 변환 할 수 없습니까?

왜 '목록'을 C#의 '목록'으로 변환 할 수 없습니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-30 13:06:11749검색

Why Can't I Convert a `List` to a `List` in C#?

불변 목록 : 변환 제한 이해

기본 클래스 목록을 기대하는 함수로 파생 된 클래스 목록을 전달할 때 개발자는 오류가 발생할 수 있습니다. 공분산 의 개념을 파악하는 것이 필수적입니다.
cannot convert from 'System.Collections.Generic.List<ConsoleApplication1.DerivedClass>' to 'System.Collections.Generic.List<ConsoleApplication1.BaseClass>'

공분산 및 불변성 제네릭 컬렉션 C#에서는 공분산이거나 변하지 않을 수 있습니다. 공분산 컬렉션은 기본 유형에 대한 파생 유형을 대체 할 수있는 반면 불변 수집은 그렇지 않습니다. 불변 파생 클래스 목록을 기본 클래스 목록을 기대하는 함수로 안전하게 전달하려면 개발자는

ienumerable & lt; t & gt;

, covariant 를 활용할 수 있습니다. 이를 통해 기본 유형에 대한 파생 유형을 대체하여 유형 안전성을 손상시키지 않고 변환 문제를 해결할 수 있습니다.

제공된 코드 스 니펫에서 다음 수정은 오류를 다룹니다.

위 내용은 왜 '목록'을 C#의 '목록'으로 변환 할 수 없습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.