Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mencari Item Unik dengan Cekap dalam Satu Senarai yang Tiada dalam Senarai Lain Menggunakan LINQ?

Bagaimanakah Saya Boleh Mencari Item Unik dengan Cekap dalam Satu Senarai yang Tiada dalam Senarai Lain Menggunakan LINQ?

Mary-Kate Olsen
Lepaskan: 2025-01-19 18:42:09
asal
754 orang telah melayarinya

How Can I Efficiently Find Unique Items in One List That Aren't in Another Using LINQ?

Memanfaatkan LINQ untuk Mengenalpasti Item Unik

LINQ (Language Integrated Query) menyediakan pendekatan yang diperkemas untuk membuat pertanyaan dan memanipulasi data dalam aplikasi .NET. Tugas yang kerap melibatkan mengenal pasti elemen dalam satu koleksi yang tiada daripada koleksi yang lain.

Contoh ini menunjukkan dua senarai Person objek: peopleList1 dan peopleList2. Matlamatnya adalah untuk mengeluarkan individu daripada peopleList2 yang tidak hadir dalam peopleList1.

Penyelesaian Berasaskan LINQ

Pertanyaan LINQ berikut mencapai ini:

var result = peopleList2.Where(p => !peopleList1.Any(p2 => p2.ID == p.ID));
Salin selepas log masuk

Pertanyaan ini menapis peopleList2, tidak termasuk mana-mana Person yang ID wujud dalam peopleList1.

Pendekatan LINQ Alternatif

Ungkapan LINQ alternatif ialah:

var result = peopleList2.Where(p => peopleList1.All(p2 => p2.ID != p.ID));
Salin selepas log masuk

Pendekatan ini mengenal pasti Person objek unik dalam peopleList2 dengan mengesahkan bahawa tiada Person dalam peopleList1 berkongsi ID yang sama.

Analisis Prestasi

Adalah penting untuk mempertimbangkan bahawa kedua-dua kaedah mempamerkan kerumitan masa O(nm), dengan n mewakili saiz peopleList1 dan m * mewakili saiz peopleList2. Untuk set data yang luas, kerumitan ini boleh menyebabkan kesesakan prestasi. Dalam senario sedemikian, meneroka algoritma alternatif atau struktur data, seperti jadual cincang, mungkin diperlukan untuk pengoptimuman.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Item Unik dengan Cekap dalam Satu Senarai yang Tiada dalam Senarai Lain Menggunakan LINQ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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