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>
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>
Untuk lebih ringkas, leverage jenis inferens:
<code class="language-csharp">myCars.Select((car, index) => (car, index)).First(myCondition).index;</code>
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!