Rumah >pembangunan bahagian belakang >C++ >Adakah .NET Menawarkan Cara Terbina dalam untuk Memeriksa sama ada Satu Senarai Mengandungi Semua Item daripada Yang Lain?

Adakah .NET Menawarkan Cara Terbina dalam untuk Memeriksa sama ada Satu Senarai Mengandungi Semua Item daripada Yang Lain?

Linda Hamilton
Linda Hamiltonasal
2024-12-29 11:26:111016semak imbas

Does .NET Offer a Built-in Way to Check if One List Contains All Items from Another?

Menyemak sama ada Senarai Mengandungi Semua Item daripada Senarai Lain dalam .NET

Pengenalan

Menentukan sama ada Senarai .NET mengandungi semua elemen yang lain senarai adalah tugas biasa. Seseorang mungkin menganggap bahawa fungsi tersebut terbina dalam rangka kerja. Artikel ini mengkaji sama ada ini berlaku dan menyediakan pendekatan alternatif jika perlu.

Pendekatan "ListHelper"

Kelas "ListHelper" yang disediakan mentakrifkan kaedah "ContainsAllItems" yang menyemak sama ada List " a" mengandungi semua elemen daripada Senarai "b" menggunakan kaedah "TrueForAll" untuk melelaran melalui elemen "b" dan mengesahkan kehadiran mereka dalam "a."

.NET's Alternative

Dalam .NET versi 3.5 dan ke atas, alternatif yang lebih ringkas dan berprestasi wujud:

public static bool ContainsAllItems<T>(List<T> a, List<T> b)
{
    return !b.Except(a).Any();
}

Kod ini memanfaatkan kaedah "Kecuali" untuk mengenal pasti sebarang unsur dalam "b" yang tiada dalam "a." Jika mana-mana elemen sedemikian wujud, hasilnya diterbalikkan untuk mengembalikan "palsu," menunjukkan bahawa "a" tidak mengandungi semua item daripada "b."

Kesimpulan

Manakala pendekatan "ListHelper" adalah sah, alternatif .NET yang ditawarkan dalam versi 3.5 dan ke atas memberikan kecekapan dan kesederhanaan yang lebih besar. Dengan menggunakan kaedah "Kecuali" dan "Mana-mana", kod itu menyemak ketiadaan unsur dalam "b" yang tiada dalam "a." Pendekatan ini lebih ringkas dan memanfaatkan kuasa LINQ untuk operasi set berprestasi.

Atas ialah kandungan terperinci Adakah .NET Menawarkan Cara Terbina dalam untuk Memeriksa sama ada Satu Senarai Mengandungi Semua Item daripada Yang Lain?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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