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
Mary-Kate Olsenasal
2025-01-19 18:42:09740semak imbas

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:

<code class="language-csharp">var result = peopleList2.Where(p => !peopleList1.Any(p2 => p2.ID == p.ID));</code>

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

Pendekatan LINQ Alternatif

Ungkapan LINQ alternatif ialah:

<code class="language-csharp">var result = peopleList2.Where(p => peopleList1.All(p2 => p2.ID != p.ID));</code>

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