Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo descrive i refactoring di Azioni rapide per eseguire la conversione tra due strutture di ciclo. Include alcuni motivi per cui si potrebbe voler passare da un ciclo for a un'istruzione foreach nel codice.
Convertire un ciclo for in un'istruzione foreach
Se il codice contiene un ciclo for, è possibile usare questo refactoring per convertirlo in un'istruzione foreach.
Questo refactoring si applica a:
C#
Visual Basic
Nota
Il refactoring di Azioni rapide Converti in foreach è disponibile solo per i cicli for che contengono tutte le tre parti: un inizializzatore, una condizione e un iteratore.
Perché eseguire la conversione
Di seguito sono riportati alcuni motivi per cui può essere opportuno convertire un ciclo for in un'istruzione foreach:
Non si usa la variabile di ciclo locale all'interno del ciclo se non come indice per accedere agli elementi.
Si vuole semplificare il codice e ridurre la probabilità di errori logici nelle sezioni di inizializzatore, condizione e iteratore.
Modalità d'uso
Posizionare il punto di inserimento nella parola chiave
for
.Premere CTRL+ oppure fare clic sull'icona del cacciavite
nel margine del file di codice.
Selezionare Converti in foreach. In alternativa, selezionare Anteprima modifiche per aprire la finestra di dialogo Anteprima modifiche e quindi selezionare Applica.
Convertire un'istruzione foreach in un ciclo for
Se il codice contiene un'istruzione foreach (C#) o For Each...Next (Visual Basic), è possibile usare questo refactoring per convertirla in un ciclo for.
Questo refactoring si applica a:
C#
Visual Basic
Perché eseguire la conversione
Di seguito sono riportati alcuni motivi per cui può essere opportuno convertire un'istruzione foreach in un ciclo for:
Si vuole usare una variabile di ciclo locale all'interno del ciclo per altre azioni oltre all'accesso all'elemento.
Si scorre una matrice multidimensionale e si vuole avere un maggiore controllo sugli elementi della matrice.
Modalità d'uso
Posizionare il punto di inserimento nella parola chiave
foreach
oFor Each
.Premere CTRL+ oppure fare clic sull'icona del cacciavite
nel margine del file di codice.
Selezionare Converti in for. In alternativa, selezionare Anteprima modifiche per aprire la finestra di dialogo Anteprima modifiche e quindi selezionare Applica.
Poiché il refactoring introduce una nuova variabile Numero di iterazioni, la casella Rinomina appare nell'angolo superiore destro dell'editor. Se si vuole scegliere un nome diverso per la variabile, digitarlo in e quindi premere INVIO oppure selezionare Applica nella casella Rinomina. Se non si vuole scegliere un nuovo nome, premere ESC oppure selezionare Applica per chiudere la casella Rinomina.
Nota
Per C#, il codice generato da questi refactoring usa un tipo esplicito o var per il tipo degli elementi nella raccolta. Il tipo nel codice generato, esplicito o implicito, dipende dalle impostazioni di stile del codice che rientrano nell'ambito. Queste impostazioni specifiche dello stile di codice vengono configurate a livello di computer in Strumenti>Opzioni>Editor>di testo C#>Preferenze generali>> stile codice'var' o a livello di soluzione in un file EditorConfig. Se si modifica un'impostazione di stile del codice in Opzioni, riaprire il file di codice per rendere effettive le modifiche.