Dalam senario ini, anda mempunyai dua senarai rentetan (atau mana-mana jenis arbitrari) dan keinginan untuk menggabungkannya dengan pantas sambil mengekalkan yang asal pesanan. Selain itu, anda ingin menghapuskan sebarang entri pendua dalam senarai yang digabungkan. Walaupun meneliti topik ini, anda belum mengenal pasti penyelesaian yang mudah dan memilih untuk mengelak daripada melaksanakan antara muka yang kompleks.
Satu pendekatan yang berkesan ialah menggunakan kaedah AddRange:
List<string> a = new List<string>(); List<string> b = new List<string>(); a.AddRange(b);
Pendekatan ini mengekalkan susunan elemen dalam kedua-dua senarai, memindahkan kandungan b ke dalam a. Walau bagaimanapun, ia tidak mengalih keluar pendua.
Pilihan alternatif yang menangani isu pendua ialah kaedah Union:
var newList = a.Except(b).ToList();
Barisan ini menggabungkan unsur a dan b, tidak termasuk sebarang pendua. Hasilnya disimpan dalam senarai baharu bernama newList.
Akhir sekali, jika anda perlu mengekalkan senarai asal, anda boleh menggunakan kaedah Concat:
var newList = a.Concat(b);
Operasi ini menghasilkan objek IEnumerable . Ia berulang pada kedua-dua senarai, secara berurutan menghasilkan unsur-unsur mereka dalam susunan yang muncul. Jika anda memerlukan senarai sebagai output, anda boleh menukar IEnumerable kepada Senarai menggunakan kaedah ToList.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Dua Senarai dengan Cekap, Mengalih Keluar Pendua dan Mengekalkan Pesanan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!