Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описан рефакторинг кода с помощью быстрых действий, который позволяет перейти с одной структуры выполнения цикла на другую. Здесь также описано, почему в некоторых случаях не стоит преобразовывать цикл for в оператор foreach в коде.
Преобразование цикла for в оператор foreach
Если у вас есть цикл for в коде, можно использовать этот рефакторинг кода для преобразования цикла в оператор foreach.
Область применения этого рефакторинга:
C#
Visual Basic
Примечание.
Рефакторинг с помощью быстрого действия Преобразовать в foreach доступен только для циклов for, которые содержат все три части: инициализатор, условие и итератор.
Для чего это нужно
Причины, из-за которых может потребоваться преобразование цикла for в оператор foreach, включают в себя:
Вы используете локальную переменную внутри цикла только в качестве индекса для доступа к элементу.
Вы хотите упростить код и уменьшить вероятность возникновения логических ошибок в инициализаторе, условиях и разделах итератора.
Использование
Поместите курсор на ключевое слово
for
.Нажмите клавиши CTRL+ или щелкните значок отвертки
в поле файла кода.
Выберите Преобразовать в foreach. Также можно выбрать Просмотр изменений, чтобы открыть диалоговое окно Просмотр изменений, и нажать Применить.
Преобразование оператора foreach в цикл for
Если у вас есть оператор foreach (C#) или For Each...Next (Visual Basic) в коде, их можно преобразовать в цикл for с помощью этого рефакторинга кода.
Область применения этого рефакторинга:
C#
Visual Basic
Для чего это нужно
Причины, из-за которых может потребоваться преобразование оператора foreach в цикл for, включают в себя:
Вы хотите использовать локальную переменную внутри цикла не только для доступа к элементу.
Вы перебираете элементы многомерного массива и вам требуется больший контроль над элементами массива.
Использование
Поместите курсор на ключевое слово
foreach
илиFor Each
.Нажмите клавиши CTRL+ или щелкните значок отвертки
в поле файла кода.
Выберите Преобразовать в for. Также можно выбрать Просмотр изменений, чтобы открыть диалоговое окно Просмотр изменений, и нажать Применить.
Так как в данном случае рефакторинг кода порождает новую переменную — счетчик итераций, в правом верхнем углу редактора появится поле Переименовать. Если необходимо выбрать другое имя для переменной, введите его и нажмите клавишу ВВОД или кнопку Применить в поле Переименовать. Если вы не хотите изменять имя, нажмите клавишу ESC или кнопку Применить, чтобы закрыть поле Переименовать.
Примечание.
Код C#, созданный в процессе выполнения рефакторинга, использует явный тип или ключевое слово var для этого типа элементов в коллекции. Тип в созданном коде (явный или неявный) зависит от параметров стиля кода, которые находятся в области. Эти параметры стиля кода настраиваются на уровне компьютера в разделе >"Параметры>текстового редактора текста" C#>Code Style>General'var> или на уровне решения в файле EditorConfig.> Если вы измените эти параметры в меню Параметры, снова откройте файл кода, чтобы изменения вступили в силу.