목록
이 가이드에서는 Client
개체 목록(List<Client>
)을 해당 IDic
인터페이스(List<IDic>
) 목록으로 변환하는 방법을 설명합니다.
직접 캐스팅이 실패하는 이유
파생 유형(예: Client
)에서 기본 유형(IDic
)으로의 직접 캐스팅은 .NET에서 허용됩니다. 그러나 공분산 제한으로 인해 그 반대는 간단하지 않습니다. 이러한 제한 사항은 기본 유형 목록에 예기치 않게 파생 유형 요소가 포함될 수 있는 안전하지 않은 작업을 방지하여 유형 안전성을 유지합니다.
효과적인 변환 방법
원하는 변환을 달성하는 두 가지 신뢰할 수 있는 방법:
1. IEnumerable<IDic>
활용(.NET 4 이상)
.NET 4 이상 버전은 IEnumerable<T>
과의 공분산을 지원합니다. 이를 통해 List<Client>
에서 IEnumerable<IDic>
로 변환이 가능해지며, Client
객체를 IDic
인스턴스
2. 새 목록 구성
List<IDic>
을 만들려면 명시적으로 새 목록을 만들고 인터페이스 참조로 채워야 합니다. .NET 4에서는 이를 위한 ToList<T>()
메서드를 제공합니다. .NET 3.5는 Cast<T>()
다음에 ToList()
을 사용합니다.
데이터 독립성에 관한 중요 사항
두 기술 모두 별도의 목록을 생성하여 유형 안전성을 유지합니다. 결정적으로 원본 List<Client>
을 수정해도 새 List<IDic>
가 자동으로 업데이트되지 않습니다. Client
개체 자체에 직접 적용된 변경 사항만 두 목록 모두에 표시됩니다.
위 내용은 .NET에서 목록을 목록으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!