Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mencari Indeks Unsur dalam Koleksi Dengan Cekap Menggunakan LINQ?

Bagaimanakah Saya Boleh Mencari Indeks Unsur dalam Koleksi Dengan Cekap Menggunakan LINQ?

Susan Sarandon
Susan Sarandonasal
2025-01-15 07:01:42752semak imbas

How Can I Efficiently Find the Index of an Element in a Collection Using LINQ?

LINQ: Memperkemas Pendapatan Indeks dalam Koleksi

Mencari elemen dengan cekap dalam set data yang besar (tatasusunan, koleksi) adalah penting. LINQ (Language Integrated Query) menawarkan cara yang bersih dan deklaratif untuk mencapai ini, mengelakkan kerumitan gelung tradisional.

Menunjukkan Indeks Elemen

Untuk mencari indeks elemen menggunakan LINQ, gabungkan kaedah Select dan FirstOrDefault. Begini caranya:

<code class="language-csharp">var firstIndex = myCars.Select((car, index) => new { car, index })
    .FirstOrDefault(myCondition)?.index;</code>

Kod ini melakukan perkara berikut:

  • Select: Mencipta jujukan objek tanpa nama, masing-masing memasangkan objek kereta (car) dengan indeksnya (index).
  • FirstOrDefault: Menapis jujukan ini berdasarkan myCondition, mengembalikan objek padanan pertama.
  • ?.index: Mengakses harta index hasil dengan selamat (?. mengendalikan kes yang tiada padanan ditemui).

Alternatif Ringkas

Perkara di atas boleh dipermudahkan:

<code class="language-csharp">var firstIndex = myCars.Select((car, index) => (car, index))
    .FirstOrDefault(myCondition)?.index;</code>

Atau, lebih ringkas lagi:

<code class="language-csharp">var firstIndex = myCars.Select((car, index) => new { index })
    .FirstOrDefault(myCondition)?.index;</code>

Keanggunan melebihi Lelaran

Pendekatan LINQ ini menawarkan kelebihan ketara berbanding gelung eksplisit: kebolehbacaan yang dipertingkatkan dan selalunya prestasi yang lebih baik untuk set data yang lebih besar. Gaya deklaratif LINQ menggalakkan kod yang lebih bersih, lebih boleh diselenggara sambil mempersoalkan struktur data yang kompleks dengan cekap.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencari Indeks Unsur dalam Koleksi Dengan Cekap 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