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

Bagaimanakah LINQ Boleh Meningkatkan Penapisan Koleksi dalam C#?

DDD
DDDasal
2025-01-04 05:56:38748semak imbas

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();

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();

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:
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