Udostępnij za pośrednictwem


Refaktoryzacja w celu konwersji między pętlą for i instrukcją foreach

W tym artykule opisano refaktoryzacje szybkich akcji, które konwertują między dwiema strukturami pętli. Zawiera kilka powodów, dla których warto przełączać się między pętlą for i instrukcją foreach w kodzie.

Konwertowanie pętli for na instrukcję foreach

Jeśli masz pętlę for w kodzie, możesz użyć tej refaktoryzacji, aby przekonwertować ją na instrukcję foreach .

Ta refaktoryzacja ma zastosowanie do:

  • C#

  • Visual Basic

Uwaga

Refaktoryzacja funkcji Konwertuj na szybkie działanie foreach jest dostępna tylko dla pętli zawierających wszystkie trzy części: inicjator, warunek i iterator.

Dlaczego warto konwertować

Przyczyny konwertowania pętli for na instrukcję foreach obejmują:

  • Nie używasz lokalnej zmiennej pętli wewnątrz pętli, z wyjątkiem indeksu, aby uzyskać dostęp do elementów.

  • Chcesz uprościć kod i zmniejszyć prawdopodobieństwo błędów logiki w sekcjach inicjatora, warunku i iteratora.

Korzystanie

  1. Umieść daszek w słowie for kluczowym.

  2. Naciśnij klawisze Ctrl+ lub kliknij ikonę śrubokręta Screwdriver icon na marginesie pliku kodu.

    Convert to foreach menu

  3. Wybierz pozycję Konwertuj na "foreach". Możesz też wybrać pozycję Podgląd zmian, aby otworzyć okno dialogowe Podgląd zmian, a następnie wybierz pozycję Zastosuj.

Konwertowanie instrukcji foreach na pętlę for

Jeśli masz foreach (C#) lub for Each... Następna instrukcja (Visual Basic) w kodzie, możesz użyć tej refaktoryzacji, aby przekonwertować ją na pętlę for .

Ta refaktoryzacja ma zastosowanie do:

  • C#

  • Visual Basic

Dlaczego warto konwertować

Przyczyny konwertowania instrukcji foreach na pętlę for :

  • Chcesz użyć zmiennej pętli lokalnej wewnątrz pętli, aby uzyskać więcej niż tylko dostęp do elementu.

  • Iterujesz za pomocą tablicy wielowymiarowej i chcesz mieć większą kontrolę nad elementami tablicy.

Korzystanie

  1. Umieść daszek w słowie foreach kluczowym lub For Each .

  2. Naciśnij klawisze Ctrl+ lub kliknij ikonę śrubokręta Screwdriver icon na marginesie pliku kodu.

    Convert to for menu

  3. Wybierz pozycję Konwertuj na 'for'. Możesz też wybrać pozycję Podgląd zmian, aby otworzyć okno dialogowe Podgląd zmian, a następnie wybierz pozycję Zastosuj.

  4. Ponieważ refaktoryzacja wprowadza nową zmienną liczby iteracji, pole Zmień nazwę pojawia się w prawym górnym rogu edytora. Jeśli chcesz wybrać inną nazwę zmiennej, wpisz ją, a następnie naciśnij klawisz Enter lub wybierz pozycję Zastosuj w polu Zmień nazwę . Jeśli nie chcesz wybierać nowej nazwy, naciśnij klawisz Esc lub wybierz pozycję Zastosuj , aby odrzucić pole Zmień nazwę .

Uwaga

W przypadku języka C# kod wygenerowany przez te refaktoryzacje używa jawnego typu lub var dla typu elementów w kolekcji. Typ wygenerowanego kodu, jawny lub niejawny, zależy od ustawień stylu kodu, które znajdują się w zakresie. Te konkretne ustawienia stylu kodu są konfigurowane na poziomie maszyny w obszarze Narzędzia>Opcje>Edytor>tekstów C#>Styl>kodu Ogólne preferencje ogólne lub> na poziomie rozwiązania w pliku EditorConfig. Jeśli zmienisz ustawienie stylu kodu w obszarze Opcje, otwórz ponownie plik kodu, aby zmiany zaczęły obowiązywać.

Zobacz też