Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah LINQ Boleh Mendapatkan Indeks Kriteria Khusus Pertemuan Objek dengan Cekap?

Bagaimanakah LINQ Boleh Mendapatkan Indeks Kriteria Khusus Pertemuan Objek dengan Cekap?

Linda Hamilton
Lepaskan: 2025-01-15 11:34:44
asal
972 orang telah melayarinya

How Can LINQ Efficiently Retrieve the Index of an Object Meeting Specific Criteria?

LINQ: Cekap Mencari Indeks Objek

Manipulasi data selalunya memerlukan mencari indeks objek yang sepadan dengan kriteria tertentu. Walaupun gelung tradisional berfungsi, LINQ menyediakan penyelesaian yang lebih bersih dan cekap.

Bayangkan anda mempunyai koleksi objek (seperti susunan kereta). Untuk mencari indeks kereta pertama yang memenuhi syarat tertentu, LINQ menawarkan pendekatan ringkas.

Kuncinya ialah mengubah koleksi asal menjadi urutan tupel, setiap satu mengandungi objek dan indeksnya. Kaedah Select LINQ, menggunakan ungkapan lambda, mencapai ini:

<code class="language-csharp">myCars.Select((car, index) => new {car, index})</code>
Salin selepas log masuk

Ini mencipta urutan baharu. Sekarang, gunakan kaedah First untuk mencari tuple pertama yang memenuhi keadaan anda:

<code class="language-csharp">myCars.Select((car, index) => new {car, index}).First(myCondition).index;</code>
Salin selepas log masuk

Untuk lebih ringkas, leverage jenis inferens:

<code class="language-csharp">myCars.Select((car, index) => (car, index)).First(myCondition).index;</code>
Salin selepas log masuk

Ini secara langsung mengembalikan indeks objek padanan pertama, menghapuskan keperluan untuk kaedah gelung yang kurang cekap. Ambil perhatian bahawa myCondition mewakili kriteria khusus anda untuk memilih kereta dan First akan membuang pengecualian jika tiada padanan ditemui.

Atas ialah kandungan terperinci Bagaimanakah LINQ Boleh Mendapatkan Indeks Kriteria Khusus Pertemuan Objek dengan Cekap?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan