ホームページ >バックエンド開発 >C++ >派生クラスオブジェクトのリストをC#のベースクラスオブジェクトのリストに変換するにはどうすればよいですか?

派生クラスオブジェクトのリストをC#のベースクラスオブジェクトのリストに変換するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2025-02-01 17:46:09480ブラウズ

How Can I Convert a List of Derived Class Objects to a List of Base Class Objects in C#?

デリバティブクラスからベースクラスリストへの変換 次の例を考えてみましょう ににインスタンスを試してみてください。コンパイラエラーが発生します。この問題を解決するには、解決策を見つける必要があります。

ソリューション:表現型変換とLINQ 1つの方法は、リストを手動で通過し、各要素を必要なベースタイプに変換することです。これは、

メソッド:

を使用して実装できます
<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を使用した別のソリューションは、listOfA演算子を使用してリスト全体を変換することです。 List<C>

これらのテクノロジーを使用することにより、派生クラスのリストをベースタイプのリストに効果的に変換することができます。そうすれば、相続スキームを扱うときに柔軟性が高くなります。

以上が派生クラスオブジェクトのリストをC#のベースクラスオブジェクトのリストに変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。