Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 2582|Risposta: 1

[Fonte] .NET/C# seleziona abilmente gli indici in foreach

[Copiato link]
Pubblicato su 01/02/2024 20:26:18 | | | |
Introduzione

I cicli for e foreach sono tra i costrutti più utili nella cassetta degli attrezzi per sviluppatori di C#.
Secondo me, iterare su una collezione è più comodo che nella maggior parte dei casi.
Funziona con tutti i tipi di collezione, inclusi quelli non indicizzabili (come , e non richiedono l'accesso all'elemento corrente tramite l'indice).
Ma a volte è davvero necessario un indice dell'articolo corrente; Ho incontrato questo problema tempo fa quando usavo foreach per attraversare le collezioni in fase di sviluppo. Questo tipicamente utilizza uno dei seguenti schemi:


Mi ha sempre infastidito; Non possiamo avere sia valori che indici?
C'è una soluzione semplice con Linq e le tuple.

Soluzione 1:

Scrivi semplicemente un metodo di estensione come questo:

Si prega di inserire il codice sopra nel seguente namespace:

Metodo di chiamata:

Nota: Dietro la collezioneWithIndex();

Soluzione 2:

Se trovi il metodo di estensione macchinoso, puoi anche usare la Soluzione 2

È fatto, ha un piccolo impatto sulle prestazioni, puoi osservare l'uso a richiesta!!





Precedente:Nginx disabilita soluzioni invalide TLSv1.0 e TLSv1.1
Prossimo:Query oracolo return field full caps problemi
 Padrone di casa| Pubblicato su 24/02/2024 17:00:44 |
Collezioni di coppie .NET 9Aggiunta la metodologia di estensione Index, puoi ottenere direttamente l'indice, riferire:Il login del link ipertestuale è visibile.

pubblico e statico System.Collections.Generic.IEnumerable<(int Index, TSource Item)><TSource> Index (questa fonte System.Collections.Generic.IEnumerable<TSource>);

Scarica l'anteprima del VS 2022 su:Il login del link ipertestuale è visibile.

Anteprima .NET 9.0 Download:Il login del link ipertestuale è visibile.

Crea una nuova app console .NET 9 con il seguente codice:







Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com