


Bagaimanakah saya boleh menukar senarai kelas yang diperolehi ke senarai kelas asas di C#?
Menukar senarai kelas yang diperolehi ke senarai kelas asas dalam C#
warisan dalam C# membolehkan membuat kelas yang diperoleh dari kelas asas atau antara muka. Walau bagaimanapun, secara langsung menyerahkan kelas yang diperolehi kepada kelas asasnya tidak dibenarkan. Batasan ini timbul dari ketat sistem jenis mengenai parameter jenis generik.
List
Pertimbangkan contoh ini: List
untuk mengatasinya, kita boleh menggunakan dua kaedah utama:
interface IA {} class B : IA {} class C : B {} class Test { static void Main(string[] args) { IA a = new C(); // This is valid List<IA> listOfIA = new List<C>(); // Compiler error } }
Kaedah 1: Menggunakan
ConvertAll
Pendekatan ini melangkah melalui senarai kelas yang diperolehi dan secara eksplisit membuang setiap elemen ke jenis kelas asas.
Kaedah 2: Menggunakan Linq's
List<C> listOfC = new List<C>(); // Your list of derived classes List<IA> listOfIA = listOfC.ConvertAll(x => (IA)x);
Cast
Linq menyediakan penyelesaian yang lebih ringkas menggunakan kaedah . Kaedah ini melakukan penukaran jenis yang sama seperti
Cast<T>
ConvertAll
Kedua -dua kaedah mencapai hasil yang sama: senarai baru yang mengandungi objek dari senarai asal, tetapi dengan jenis kelas asas. Pendekatan Linq (
Atas ialah kandungan terperinci Bagaimanakah saya boleh menukar senarai kelas yang diperolehi ke senarai kelas asas di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah jenis nilai yang dikembalikan oleh fungsi bahasa C? Apa yang menentukan nilai pulangan?

Gulc: Perpustakaan C dibina dari awal

Langkah Format Fungsi Fungsi C Langkah Penukaran Kes

Apakah definisi dan peraturan panggilan fungsi bahasa C dan apakah itu

Di manakah nilai pulangan fungsi bahasa C yang disimpan dalam ingatan?

Penggunaan dan perkongsian frasa yang berbeza

Bagaimanakah saya menggunakan algoritma dari STL (jenis, mencari, mengubah, dll) dengan cekap?

Bagaimana Perpustakaan Templat St Standard (STL) berfungsi?
