Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Mengakses Indeks Lelaran dalam Gelung Foreach C#?

Bagaimanakah Saya Boleh Mengakses Indeks Lelaran dalam Gelung Foreach C#?

Mary-Kate Olsen
Lepaskan: 2025-01-27 17:56:10
asal
225 orang telah melayarinya

How Can I Access the Iteration Index in a C# Foreach Loop?

Mengakses indeks lelaran dalam gelung c# foreach

C# Gelung menawarkan cara ringkas untuk melangkah melalui koleksi. Walau bagaimanapun, secara langsung mengakses indeks lelaran tidak disokong secara semulajadi. Berikut adalah beberapa kaedah untuk mencapai ini:

foreach

1. Kaunter manual:

Pendekatan paling mudah melibatkan kaunter yang ditambah secara manual:

<code class="language-csharp">int index = 0;
foreach (var item in myCollection)
{
    // Use 'item' and 'index'
    index++;
}</code>
Salin selepas log masuk
2. LINQ's

dengan indeks: Select kaedah Linq

memberikan beban yang merangkumi indeks:

Select

Ini mewujudkan jenis tanpa nama yang mengandungi nilai dan indeksnya.
<code class="language-csharp">foreach (var item in myCollection.Select((value, index) => new { Value = value, Index = index }))
{
    var value = item.Value;
    var index = item.Index;
    // Use 'value' and 'index'
}</code>
Salin selepas log masuk

3. ValueTuple (C# 7.0 dan kemudian):

untuk prestasi yang lebih baik dan mengelakkan peruntukan timbunan (terutamanya dengan koleksi besar), gunakan

:

ValueTuple

ini memanfaatkan dekonstruksi tuple untuk sintaks bersih.
<code class="language-csharp">foreach (var (value, index) in myCollection.Select((value, index) => (value, index)))
{
    // Access 'value' and 'index' directly
}</code>
Salin selepas log masuk

4. Untuk gelung (alternatif):

Untuk situasi yang memerlukan akses indeks, gelung standard

menawarkan penyelesaian yang lebih langsung:

for

Pendekatan ini biasanya lebih disukai apabila indeksnya penting untuk logik gelung. Pilih kaedah yang paling sesuai dengan gaya pengekodan dan keperluan prestasi anda. Untuk kes -kes yang mudah, kaunter manual cukup. Untuk koleksi yang lebih besar atau senario yang lebih kompleks, LINQ dengan
<code class="language-csharp">for (int index = 0; index < myCollection.Count; index++)
{
    var item = myCollection[index];
    // Use 'item' and 'index'
}</code>
Salin selepas log masuk
menawarkan keseimbangan kebolehbacaan dan kecekapan. Gelung

kekal sebagai pilihan yang sesuai apabila manipulasi indeks adalah pusat operasi gelung. ValueTuple

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Indeks Lelaran dalam Gelung Foreach C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan