Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menukar Senarai dengan Selamat kepada Senarai dalam C#?

Bagaimana untuk Menukar Senarai dengan Selamat kepada Senarai dalam C#?

Barbara Streisand
Lepaskan: 2025-01-17 00:46:09
asal
225 orang telah melayarinya

How to Safely Convert a List to a List in C#?

Tukar dengan selamat dalam C# kepada Senarai

Apabila bekerja dengan koleksi C#, anda mungkin menghadapi situasi di mana anda perlu menukar senarai objek kelas terbitan kepada senarai objek antara muka asas. Walaupun penukaran ini kelihatan mudah, penghantaran antara jenis yang berbeza boleh menyebabkan masalah yang berpotensi.

Penghantaran terus dari satu jenis ke jenis lain (contohnya, daripada Senarai ke Senarai) tidak boleh dilakukan dalam C# kerana ia akan mengakibatkan operasi yang tidak selamat. Percubaan pelakon sedemikian boleh mengakibatkan tingkah laku yang luar biasa atau tidak dijangka.

Untuk menukar antara dua jenis ini dengan selamat, kami perlu membuat senarai jenis sasaran baharu. Ini boleh dicapai dengan mengulangi senarai asal dan menambah setiap elemen secara manual pada senarai baharu. Contohnya:

<code class="language-csharp">List<Client> clients = new List<Client>();
List<IDic> dics = new List<IDic>();

// 遍历 Client 列表
foreach (Client client in clients)
{
    // 创建一个新的 IDic 对象并设置其属性
    IDic dic = new Dic
    {
        Id = client.Id,
        Name = client.Name
    };

    // 将新的 IDic 对象添加到 dics 列表
    dics.Add(dic);
}</code>
Salin selepas log masuk

Pilihan tambahan dalam .NET 4 dan C# 4

Dalam .NET 4 dan C# 4, anda boleh memanfaatkan konsep kovarian untuk memudahkan penukaran IEnumerable kepada IEnumerable. Ini berguna apabila bekerja dengan koleksi baca sahaja:

<code class="language-csharp">// 使用协变将 IEnumerable<Apple> 转换为 IEnumerable<IFruit>
List<IFruit> fruit = apples.AsEnumerable<IFruit>().ToList();</code>
Salin selepas log masuk

Walau bagaimanapun, perlu diambil perhatian bahawa kovarians hanya terpakai pada koleksi baca sahaja. Jika anda mengubah suai senarai asal selepas membuat paparan IEnumerable, perubahan tidak ditunjukkan dalam paparan terbitan.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Senarai dengan Selamat kepada Senarai 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