


Bagaimana untuk Mengisih Senarai Objek Berdasarkan ID daripada Senarai Berasingan?
Jan 19, 2025 pm 12:16 PMIsih senarai objek berdasarkan ID dalam senarai lain
Dalam sesetengah kes, anda mungkin perlu mengisih senarai objek berdasarkan ID mereka yang disimpan dalam senarai berasingan. Pertimbangkan perkara berikut:
Anda mempunyai docIds
bernama List<long>
dengan nilai berikut: { 6, 1, 4, 7, 2 }. Selain itu, anda mempunyai docs
bernama List<T>
yang menyimpan objek yang diwakili oleh ID dalam docIds
.
Matlamat anda adalah untuk mengekalkan ketekalan dalam susunan item dalam kedua-dua senarai. Ini bermakna objek dalam List<T>
mesti menduduki kedudukan yang sama dengan ID yang sepadan dalam List<long>
, contohnya, objek dengan ID 1 dalam docs
hendaklah berada pada indeks 1.
Untuk mencapai pengisihan ini tanpa mengubah suai List<T>
anda boleh menggunakan LINQ seperti berikut:
docs = docs.OrderBy(d => docIds.IndexOf(d.Id)).ToList();
Ungkapan LINQ ini mula-mula menggunakan IndexOf
untuk menentukan indeks setiap ID objek dalam docIds
. Ia kemudian menggunakan indeks ini sebagai kunci isihan, menjajarkan objek dalam List<T>
dengan ID mereka dalam List<long>
dengan berkesan.
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Senarai Objek Berdasarkan ID daripada Senarai Berasingan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah jenis nilai yang dikembalikan oleh fungsi bahasa C? Apa yang menentukan nilai pulangan?

Gulc: Perpustakaan C dibina dari awal

Langkah Format Fungsi Fungsi C Langkah Penukaran Kes

Apakah definisi dan peraturan panggilan fungsi bahasa C dan apakah itu

Penggunaan dan perkongsian frasa yang berbeza

Di manakah nilai pulangan fungsi bahasa C yang disimpan dalam ingatan?

Bagaimana Perpustakaan Templat St Standard (STL) berfungsi?

Bagaimanakah saya menggunakan algoritma dari STL (jenis, mencari, mengubah, dll) dengan cekap?
