Что для каждого?
For Each - это команда цикла. Вы должны использовать этот оператор, когда вам нужно повторить набор операторов для каждого элемента в коллекции. Вы можете использовать его для управления всеми элементами, содержащимися в коллекции или массиве.
В этом VB. Net учебник, вы узнаете,
- Что для каждого?
- Синтаксис For Each… Next
- Примеры
- Вложенные циклы For
- Выйти и продолжить
Синтаксис For Each… Next
Для каждого оператора используется синтаксис, приведенный ниже:
For Each item [ As data_type ] In group[ statement(s) ][ Continue For ][ statement(s) ][ Exit For ][ statement(s) ]Next [ item ]
Здесь,
- Элемент - это переменная, которая будет использоваться для перебора всех элементов коллекции. Он требуется в операторе for, но необязателен в операторе Next.
- Data_type - это тип данных элемента. Требуется, если товар не был задекларирован.
- Группа - это совокупность, над которой должны повторяться операторы. Требуется.
- Заявление (я) не является обязательным. Он обозначает один или несколько операторов, которые должны выполняться для каждого элемента в группе.
- Continue For передаст управление началу цикла For Each. Это необязательно.
- Exit For передаст управление из цикла For Each. Это необязательно.
- Next отмечает конец цикла For Each. Требуется.
Примеры
Продемонстрируем, как использовать это утверждение:
Шаг 1) Начните с создания нового консольного приложения.
Шаг 2) Используйте следующий код:
Module Module1Sub Main()Dim myArray() As Integer = {10, 3, 12, 23, 9}Dim item As IntegerFor Each item In myArrayConsole.WriteLine(item)NextConsole.ReadKey()End SubEnd Module
Шаг 3) Нажмите кнопку «Пуск» на верхней панели, чтобы запустить код. У вас должен получиться следующий результат:
Вот скриншот кода:
Пояснение к коду:
- Создание модуля с именем Module1.
- Запуск основной подпроцедуры.
- Создание массива с именем myArray с набором из 4 целых чисел.
- Создание целочисленной переменной с именем item.
- Использование переменной item для перебора элементов массива с именем myArray.
- Печать элементов, найденных в массиве, с помощью вышеуказанного оператора на консоли.
- Конец цикла For Each.
- Приостановить окно консоли на некоторое время, ожидая, пока пользователь предпримет действия по закрытию окна.
- Конец основной подпроцедуры.
- Конец модуля.
Вложенные циклы For
Цикл For Each может быть вложенным. Это произойдет, когда мы поместим один цикл For Each внутрь другого цикла For Each. Продемонстрируем это на примере.
Шаг 1) Создайте новое консольное приложение.
Шаг 2) Используйте следующий код:
Module Module1Sub Main()Dim nums() As Integer = {12, 23, 35}Dim names() As String = {"Guru99", "alice", "antony"}For Each n As Integer In numsFor Each st As String In namesConsole.Write(n.ToString & st & " ")NextNextConsole.ReadKey()End SubEnd Module
Шаг 3) Нажмите кнопку «Пуск» на верхней панели, чтобы выполнить код. Вы должны получить следующий результат:
Вот скриншот кода:
Расшифровка кода:
- Создание модуля с именем Module1.
- Запуск основной подпроцедуры.
- Создание массива с именем nums с набором целых чисел.
- Создание массива именованных имен с набором имен.
- Создание переменной n и использование ее для перебора элементов, содержащихся в массиве с именем nums. Это внешний цикл For Each.
- Создание переменной с именем st и использование ее для перебора элементов, содержащихся в массиве с именем names. Это внутренний цикл For Each.
- Объединение элементов из двух массивов. Каждый элемент в массиве nums будет объединен с каждым элементом в массиве names. Функция ToString помогает нам преобразовывать числа, считанные из массива nums, в строки. Знак «» помогает нам создавать пространство после каждой комбинации. Комбинация была достигнута с помощью & (амперсанд).
- Конец внутреннего цикла For Each.
- Конец внешнего цикла For Each.
- Приостановите окно консоли, ожидая, пока пользователь закроет его.
- Конец основной подпроцедуры.
- Конец модуля.
Выйти и продолжить
Когда вы используете оператор Exit For, выполнение оставит For Each
… Следующий цикл и управление будут переданы операторам, которые идут после оператора Next.Когда вы используете оператор Continue For, управление будет передано следующей итерации вашего цикла. Продемонстрируем это на примере:
Шаг 1) Начните с создания нового консольного приложения.
Шаг 2) Используйте следующий код:
Module Module1Sub Main()Dim nums() As Integer ={10, 12, 14, 17, 19, 23, 26, 31, 33, 37, 40, 48}For Each n As Integer In numsIf n>= 17 And n <= 25 ThenContinue ForEnd IfConsole.Write(n.ToString & " ")If n = 37 ThenExit ForEnd IfNextConsole.ReadKey()End SubEnd Module
Шаг 3) Запустите код, нажав кнопку «Пуск» на верхней панели. У вас должен получиться следующий результат:
Вот скриншот кода:
Пояснение к коду:
- Создание модуля с именем module1.
- Запуск основной подпроцедуры.
- Создание массива с именем nums с набором целых чисел.
- Создав переменную с именем n, мы используем ее для перебора элементов, содержащихся в массиве nums.
- Использование условия If… Then для проверки значения переменной n. Если значение находится между 17 (включая 17) и 25 (включая 25), итерация перейдет к следующему элементу в массиве.
- Здесь выполняется пропуск вышеуказанных значений. Это инструкция, необходимая для выполнения пропуска. Это означает, что цикл For Each не будет выполняться для пропущенных элементов.
- Завершите условие If.
- Вывод на консоль значений, полученных из массива. Функция ToString помогает нам преобразовывать значения из чисел в строки. Знак "" создает некоторое пространство после каждого напечатанного значения.
- Проверка итерационной переменной n при ее значении 37 с использованием условия If… Then.
- Выход из цикла For Each при выполнении вышеуказанного условия, то есть при значении n = 37. Это означает, что итерация по элементам массива остановится.
- Конец вышеуказанного Если условие.
- Конец For… Каждое утверждение.
- Приостановите окно консоли, ожидая, пока пользователь закроет его.
- Конец основной подпроцедуры.
- Конец модуля.
Резюме
- Оператор For Each используется для перебора каждого элемента, содержащегося в коллекции или массиве.
- Во время разработки вы можете комбинировать оператор For Each с операторами Exit For и Continue For, чтобы контролировать выполнение итерации.