>백엔드 개발 >C++ >.NET에서 목록을 목록으로 변환하는 방법은 무엇입니까?

.NET에서 목록을 목록으로 변환하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-17 00:56:13865검색

How to Convert a List to a List in .NET?

.NET에서

목록을 목록으로 변환

이 가이드에서는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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