Mengakses indeks lelaran dalam gelung c# foreach
C#
foreach
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>
dengan indeks: Select
kaedah Linq
Select
<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>
3. ValueTuple (C# 7.0 dan kemudian):
untuk prestasi yang lebih baik dan mengelakkan peruntukan timbunan (terutamanya dengan koleksi besar), gunakan
:
ValueTuple
<code class="language-csharp">foreach (var (value, index) in myCollection.Select((value, index) => (value, index))) { // Access 'value' and 'index' directly }</code>
4. Untuk gelung (alternatif):
Untuk situasi yang memerlukan akses indeks, gelung standard
menawarkan penyelesaian yang lebih langsung:
for
<code class="language-csharp">for (int index = 0; index < myCollection.Count; index++) { var item = myCollection[index]; // Use 'item' and 'index' }</code>
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!