Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 2582|Jawab: 1

[Sumber] .NET/C# dengan cerdik memilih indeks di foreach

[Salin tautan]
Diposting pada 01/02/2024 20.26.18 | | | |
Perkenalan

Loop for dan foreach adalah salah satu konstruksi yang paling berguna dalam kotak alat pengembang C#.
Menurut pendapat saya, mengulangi koleksi lebih nyaman daripada dalam kebanyakan kasus.
Ini bekerja dengan semua jenis koleksi, termasuk yang tidak dapat diindeks (seperti , dan tidak memerlukan akses ke elemen saat ini melalui indeks).
Tetapi terkadang, indeks item saat ini benar-benar diperlukan; Saya mengalami masalah ini beberapa waktu lalu ketika saya menggunakan foreach untuk melintasi koleksi dalam pengembangan. Ini biasanya menggunakan salah satu pola berikut:


Itu selalu membuatku kesal; Tidak bisakah kita mendapatkan nilai dan indeks?
Ada solusi sederhana dengan Linq dan tuple.

Solusi 1:

Cukup tulis metode ekstensi seperti ini:

Silakan perkenalkan kode di atas ke namespace berikut:

Metode panggilan:

Catatan: Di balik koleksiDenganIndeks();

Solusi 2:

Jika Anda merasa metode ekstensi rumit, Anda juga dapat menggunakan Solusi 2

Sudah selesai, memiliki sedikit dampak pada kinerja, Anda dapat mengamati penggunaan sesuai permintaan!!





Mantan:Nginx menonaktifkan solusi TLSv1.0 dan TLSv1.1 yang tidak valid
Depan:Kueri Oracle mengembalikan masalah kapital penuh bidang
 Tuan tanah| Diposting pada 24/02/2024 17.00.44 |
Koleksi .NET 9 pasangMenambahkan metode ekstensi Indeks, Anda bisa mendapatkan indeks secara langsung, lihat ke:Login hyperlink terlihat.

statis publik System.Collections.Generic.IEnumerable<(int Index, TSource Item)> Index<TSource> (sumber System.Collections.Generic.IEnumerable ini<TSource>);

Unduh pratinjau VS 2022 di:Login hyperlink terlihat.

Unduhan Pratinjau .NET 9.0:Login hyperlink terlihat.

Buat aplikasi konsol .NET 9 baru dengan kode berikut:







Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com