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

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

DDD
Lepaskan: 2024-12-30 13:52:14
asal
322 orang telah melayarinya

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

Adakah .NET Mempunyai Fungsi Terbina untuk Semak sama ada Senarai a Mengandungi Semua Item dalam Senarai b?

Tujuan soalan ini adalah untuk tentukan sama ada .NET menyediakan fungsi terbina untuk memastikan sama ada satu senarai mengandungi semua elemen senarai lain.

dengan syarat kod sampel cuba memenuhi tujuan ini dengan mengulangi senarai kedua dan menyemak sama ada setiap elemen terdapat dalam senarai pertama. Pendekatan ini berfungsi, tetapi seseorang tertanya-tanya sama ada fungsi sedemikian sudah wujud dalam .NET.

Jawapan:

Untuk .NET versi 3.5 dan ke atas, fungsi sedemikian sememangnya tersedia :

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

Kod ini membandingkan elemen dalam senarai b dengan elemen dalam senarai a, mengembalikan benar hanya jika semua elemen dalam b juga hadir dalam a.

Pelaksanaan Alternatif:

Pelaksanaan yang lebih konvensional akan melibatkan pengisytiharan kaedah sebagai generik dan menerima IEnumerable bukannya jenis tertentu (Senarai):

public static class LinqExtras
{
    public static bool ContainsAllItems<T>(this IEnumerable<T> a, IEnumerable<T> b)
    {
        return !b.Except(a).Any();
    }
}
Salin selepas log masuk

Menggunakan pendekatan ini, anda boleh menyemak dengan mudah sama ada satu senarai mengandungi semua elemen yang lain menggunakan:

IEnumerable<int> a = new List<int> { 1, 2, 3, 4 };
IEnumerable<int> b = new List<int> { 2, 4, 6, 8 };

bool containsAll = a.ContainsAllItems(b);  // False
Salin selepas log masuk

Atas ialah kandungan terperinci Adakah .NET Menawarkan Fungsi 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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan