Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel beschreibt die Schnellaktion-Refactorings, die zwischen zwei Schleifenstrukturen konvertieren. Er beschreibt außerdem Gründe für den Wechsel zwischen einer for-Schleife und einer foreach-Anweisung in Ihrem Code.
Konvertieren einer for-Schleife in eine foreach-Anweisung
Sobald Sie über eine for-Schleife in Ihrem Code verfügen, können Sie dieses Refactoring verwenden, um sie in eine foreach-Anweisung zu konvertieren.
Dieses Refactoring gilt für:
C#
Visual Basic
Hinweis
Das Schnellaktion-Refactoring Convert to foreach (In „foreach“ konvertieren) ist nur für for-Schleifen verfügbar, die alle drei Teile enthalten: einen Initialisierer, eine Bedingung und einen Iterator.
Warum eine Konvertierung?
Die Gründe, warum Sie eine for-Schleife in eine foreach-Anweisung konvertieren sollten, können wie folgt aussehen:
Sie verwenden die lokale Schleifenvariable nicht innerhalb der Schleife, außer als Index, um auf Elemente zuzugreifen.
Sie möchten Ihren Code vereinfachen und die Gefahr möglicher logischer Fehler im Initialisierer, in der Bedingung und im Iterator reduzieren.
Verwendungsweise
Platzieren Sie Ihre Einfügemarke im
for
-Schlüsselwort.Drücken Sie STRG+., oder klicken Sie auf den Schraubendreher
im Randbereich der Codedatei.
Wählen Sie In "foreach" konvertieren aus. Wählen Sie alternativ Vorschau der Änderungen anzeigen aus, um das Dialogfeld Vorschau der Änderungen anzuzeigen. Klicken Sie dann auf Anwenden.
Konvertieren einer foreach-Anweisung in eine for-Schleife
Sobald Sie über eine foreach (C#)- oder eine For Each...Next (Visual Basic)-Anweisung in Ihrem Code verfügen, können Sie dieses Refactoring verwenden, um sie in eine for-Schleife zu konvertieren.
Dieses Refactoring gilt für:
C#
Visual Basic
Warum eine Konvertierung?
Die Gründe, warum Sie eine foreach-Anweisung in eine for-Schleife konvertieren sollten, können wie folgt aussehen:
Sie möchten die lokale Schleifenvariable innerhalb der Schleife verwenden und nicht nur einfach auf das Element zugreifen.
Sie durchlaufen ein multidimensionales Array und möchten mehr Kontrolle über die Arrayelemente haben.
Verwendungsweise
Platzieren Sie Ihre Einfügemarke im
foreach
- oderFor Each
-Schlüsselwort.Drücken Sie STRG+., oder klicken Sie auf den Schraubendreher
im Randbereich der Codedatei.
Wählen Sie In "for" konvertieren aus. Wählen Sie alternativ Vorschau der Änderungen anzeigen aus, um das Dialogfeld Vorschau der Änderungen anzuzeigen. Klicken Sie dann auf Anwenden.
Da durch das Refactoring eine neue Variable für die Anzahl der Iterationen eingeführt wird, wird das Feld Umbenennen in der oberen rechten Ecke des Editors angezeigt. Wenn Sie die Variable anders benennen möchten, tippen Sie den neuen Namen ein, und drücken Sie die EINGABETASTE, oder wählen Sie im Feld Umbenennen die Option Anwenden aus. Wenn Sie keinen neuen Namen auswählen möchten, drücken Sie die Esc-Taste, oder klicken Sie auf Anwenden, um das Feld Umbenennen zu schließen.
Hinweis
In C# verwendet der durch diese Refactorings generierte Code entweder einen expliziten Typ oder var als Typ für die Elemente in der Auflistung. Der Typ im generierten Code, unabhängig ob explizit oder implizit, hängt von den Einstellungen des Codeformats für diesen Bereich ab. Diese spezifischen Einstellungen des Codeformats werden auf Computerebene unter Extras>Optionen>Text-Editor>C#>Codeformat>Allgemein>var-Einstellungen oder auf Projektmappenebene in einer EditorConfig-Datei konfiguriert. Wenn Sie die Einstellungen des Codeformats in den Optionen ändern, müssen Sie die Codedatei erneut öffnen, damit die Änderungen wirksam werden.