>백엔드 개발 >C++ >파생 클래스 목록을 C#의 기본 클래스 목록으로 변환하는 방법은 무엇입니까?

파생 클래스 목록을 C#의 기본 클래스 목록으로 변환하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-02-01 17:41:101004검색

C#가사는 기본 클래스 목록으로 변환 How to Convert a List of Derived Classes to a List of Base Classes in C#?
상속 메커니즘을 사용하면 기존 클래스를 기반으로 새 클래스를 만들 수 있지만 동일한 개념이 일반 목록에 직접 적용되지 않습니다. 구체적으로, 우리는 파생 클래스가 자체 기반 클래스를 상속 받더라도 a

를 선언하고 파생 유형 목록을 할당 할 수 없습니다. 다음 예를 고려하십시오 :

이 코드는 컴파일 중에 실패합니다. 컴파일러는 C 객체 목록이 아닌 A 객체 목록을 기대하기 때문입니다. 이 문제를 해결하려면 파생 된 객체 목록을 기본 개체 목록으로 변환해야합니다. 변환 메소드

로 변환하는 방법은 로 로 변환하는 것입니다. 목록 요소를 반복하고 수동으로 수동으로 변환하는 것입니다. 이것은

메소드를 사용하여 구현할 수 있습니다 List<基类> 여기, 반복 C 목록의 각 요소는이를 유형으로 변환하여 새 목록 목록에 추가합니다.

linq
<code class="language-csharp">interface A { }

class B : A { }

class C : B { }

class Test
{
    static void Main(string[] args)
    {
        A a = new C(); // 正确
        List<A> listOfA = new List<C>(); // 编译错误
    }
}</code>
사용의 대체 방법 또는 우리는 LINQ를 사용하여 변환을 실행할 수 있습니다.

여기, 목록의 각 요소를 유형 A로 변환하고

는 변환 요소가 포함 된 새 목록을 만듭니다.

위 내용은 파생 클래스 목록을 C#의 기본 클래스 목록으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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