Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menukar Senarai dengan Selamat kepada Senarai dalam C#?
Tukar dengan selamat
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
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>
Pilihan tambahan dalam .NET 4 dan C# 4
Dalam .NET 4 dan C# 4, anda boleh memanfaatkan konsep kovarian untuk memudahkan penukaran IEnumerable
<code class="language-csharp">// 使用协变将 IEnumerable<Apple> 转换为 IEnumerable<IFruit> List<IFruit> fruit = apples.AsEnumerable<IFruit>().ToList();</code>
Walau bagaimanapun, perlu diambil perhatian bahawa kovarians hanya terpakai pada koleksi baca sahaja. Jika anda mengubah suai senarai asal selepas membuat paparan IEnumerable
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!