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