LINQ dan susunan tatasusunan: Penjelasan terperinci tentang kaedah yang mengekalkan ketertiban dan kaedah yang tidak
Apabila menggunakan operasi LINQ to Objects pada tatasusunan yang diisih, berhati-hati untuk mengelakkan operasi yang memusnahkan susunan tatasusunan asal. Analisis berikut akan membimbing anda:
Cara mutlak untuk mengekalkan ketenteraman:
- AsEnumerable:
- Pelakon:
- Concat:
- Pilih:
- ToArray:
- Senarai:
Kaedah ini memetakan elemen sumber kepada elemen terhasil sambil mengekalkan ketertiban.
Cara biasa untuk memastikan pesanan:
-
Berbeza: Tapis unsur pendua.
-
Kecuali: Menapis elemen yang wujud dalam urutan lain.
-
Bersilang: Tapis untuk elemen biasa dalam berbilang jujukan.
-
OfType: Menapis elemen berdasarkan jenis.
-
Prepend (baharu dalam .NET 4.7.1): Menambah nilai yang ditentukan sebelum elemen.
-
Langkau: Langkau bilangan elemen yang ditentukan.
-
SkipWhile: Langkau elemen sehingga syarat yang ditentukan dipenuhi.
-
Ambil: Mengembalikan bilangan elemen yang ditentukan.
-
TakeWhile: Mengembalikan elemen sehingga syarat yang ditentukan dipenuhi.
-
Di mana: Menapis elemen berdasarkan predikat.
-
Zip (baharu dalam .NET 4): Cantumkan elemen yang sepadan dalam berbilang jujukan.
Cara memusnahkan pesanan:
-
ToDictionary: Menukar elemen kepada kamus, menghasilkan koleksi tidak tertib.
-
ToLookup: Menukar elemen kepada jadual carian, menghasilkan koleksi tidak tertib.
Cara untuk mentakrifkan semula susunan secara eksplisit:
-
Pesan Mengikut: Isih elemen dalam tertib menaik.
-
OrderByDescending: Isih elemen dalam tertib menurun.
-
Terbalik: Terbalikkan susunan unsur.
-
ThenBy: Isih elemen mengikut atribut lain, mengekalkan susunan asal.
-
ThenByDescending: Isih elemen dalam tertib menurun mengikut atribut lain, mengekalkan susunan asal.
Cara mentakrifkan semula susunan mengikut peraturan:
-
GroupBy: Himpunkan elemen mengikut kekunci, mengekalkan susunan elemen dalam setiap kumpulan.
-
GroupJoin: Menyertai elemen berdasarkan kekunci, mengekalkan susunan elemen daripada sumber luaran dan dalam setiap kumpulan.
-
Sertai: Menyertai elemen berdasarkan kekunci, mengekalkan susunan elemen sumber dalaman dan luaran.
-
SelectMany: Menghasilkan jujukan jujukan, menggabungkan elemen dalam setiap jujukan dalam susunan yang tidak dapat diramalkan.
-
Kesatuan: Menggabungkan berbilang jujukan untuk menjana elemen dalam susunan jujukan yang disediakan.
Dengan memahami nuansa ini, anda boleh mengekalkan susunan tatasusunan yang diingini semasa menjalankan operasi LINQ, memastikan integritinya untuk pemprosesan atau paparan selanjutnya.
Atas ialah kandungan terperinci Kaedah LINQ yang manakah Memelihara Susunan Tatasusunan, dan Mana Yang Tidak?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!