Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah LINQ Boleh Meningkatkan Penapisan Koleksi dalam C#?

Bagaimanakah LINQ Boleh Meningkatkan Penapisan Koleksi dalam C#?

DDD
Lepaskan: 2025-01-04 05:56:38
asal
799 orang telah melayarinya

How Can LINQ Improve Collection Filtering in C#?

Menapis Koleksi dalam C#

Apabila bekerja dengan koleksi dalam C#, selalunya perlu menapis elemen tertentu berdasarkan kriteria tertentu. Walaupun membuat senarai baharu dan menggelung melalui koleksi asal ialah pendekatan biasa, ia boleh menjadi tidak cekap, terutamanya dengan set data yang besar.

Penyelesaian yang lebih berkesan ialah menggunakan ungkapan pertanyaan bersepadu bahasa (LINQ), yang diperkenalkan dalam C# 3.0. LINQ menyediakan sintaks deklaratif untuk menanyakan koleksi, membolehkan anda menyatakan kriteria penapisan dengan ringkas.

Untuk menapis koleksi menggunakan LINQ, anda boleh menggunakan kaedah "Di mana". Berikut ialah contoh:

List<int> myList = GetListOfIntsFromSomewhere();

// Filter integers greater than 7
List<int> filteredList = myList.Where(x => x > 7).ToList();
Salin selepas log masuk

Kaedah "Where" mengembalikan IEnumerable, jadi anda perlu memanggil "ToList()" untuk menukarnya kembali kepada List.

Menggunakan LINQ menawarkan beberapa kelebihan berbanding yang tradisional pendekatan:

  • Keringkas: Ungkapan LINQ lebih mudah dibaca dan ringkas daripada gelung eksplisit.
  • Tapis di Tempat: "Di Mana" kaedah tidak membuat senarai sementara tetapi sebaliknya menapis koleksi asal masuk tempat.
  • Kebolehluasan: Ungkapan LINQ boleh dilanjutkan menggunakan operator penapisan dan unjuran tambahan untuk melaksanakan pertanyaan kompleks.

Contohnya, untuk menapis integer yang lebih besar daripada 7 dan kemudian menayangkannya ke senarai baharu petak mereka, anda boleh menggunakan yang berikut ungkapan:

List<int> squaredList = myList.Where(x => x > 7).Select(x => x * x).ToList();
Salin selepas log masuk

Secara keseluruhan, LINQ menyediakan cara yang berkuasa dan cekap untuk menapis koleksi dalam C#, menjadikannya alat yang berharga untuk manipulasi data.

Atas ialah kandungan terperinci Bagaimanakah LINQ Boleh Meningkatkan Penapisan Koleksi dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan