Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menghantar Senarai Satu Jenis kepada Jenis Lain dengan Cekap dalam C#?

Bagaimanakah Saya Boleh Menghantar Senarai Satu Jenis kepada Jenis Lain dengan Cekap dalam C#?

Linda Hamilton
Lepaskan: 2025-01-04 22:20:42
asal
556 orang telah melayarinya

How Can I Efficiently Cast a List of One Type to Another in C#?

Menyenarai Senarai Dengan Lebih Ringkas

Dalam C#, menghantar senarai item dari satu jenis ke jenis lain boleh dicapai dengan menghantar secara eksplisit setiap item individu . Proses ini memakan masa dan boleh membuat kod berantakan. Adakah terdapat cara untuk menyelaraskan proses ini dengan menghantar keseluruhan senarai sekali gus?

Cadangan asal mencadangkan penggunaan penghantaran terus:

ListOfY = (List<Y>)ListOfX;
Salin selepas log masuk

Walaupun ini kelihatan logik, ia tidak boleh dilakukan dengan C# seperti yang sedia ada. Walau bagaimanapun, terdapat penyelesaian yang lebih ringkas dan cekap:

List<Y> listOfY = listOfX.Cast<Y>().ToList();
Salin selepas log masuk

Kaedah ini menggunakan Cast kaedah sambungan untuk menukar setiap item dalam senarai kepada jenis sasaran, Y. Kaedah ToList() kemudian dipanggil pada IEnumerable untuk mencipta Senarai baharu mengandungi item yang ditukar.

Nota Penting:

  • Sertakan menggunakan System.Linq; untuk mengakses Cast kaedah sambungan.
  • Kaedah ini menghantar item individu, bukan senarai itu sendiri.
  • Ia tidak menyokong pengendali penukaran tersuai.
  • Jika objek sumber mempunyai kaedah pengendali eksplisit ( rangka kerja 4.0), kaedah ini tidak akan berfungsi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghantar Senarai Satu Jenis kepada Jenis Lain dengan Cekap dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan