Учебники

7) VB.net для каждого …

Что для каждого?

Для каждого есть команда Looping. Вы должны использовать это утверждение, когда вам нужно повторить набор утверждений для каждого элемента в вашей коллекции. Вы можете использовать его для управления всеми элементами, содержащимися в коллекции или массиве.

В этом VB. Сетевой учебник, вы узнаете,

Синтаксис For Each… Next

Для каждого оператора используется синтаксис, приведенный ниже:

For Each item [ As data_type ] In group  
    [ statement(s) ]  
    [ Continue For ]  
    [ statement(s) ]  
    [ Exit For ]  
    [ statement(s) ]  
Next [ item ]

Вот,

  • Элемент — это переменная, которая будет использоваться для перебора всех элементов коллекции. Это требуется для каждого оператора, но не обязательно в следующем.
  • Data_type — это тип данных элемента. Требуется, если предмет не был объявлен.
  • Группа — это коллекция, над которой должны повторяться операторы. Требуется.
  • Заявление (я) не является обязательным. Он обозначает один или несколько операторов, которые должны быть выполнены для каждого элемента в группе.
  • Continue For перенесет управление в начало цикла For Each. Это необязательно.
  • Выход For передаст управление из цикла For Each. Это необязательно.
  • Next отмечает конец цикла For Each. Требуется.

Примеры

Давайте продемонстрируем, как использовать это утверждение:

Шаг 1) Начните с создания нового консольного приложения.

Шаг 2) Используйте следующий код:

Module Module1
    Sub Main()

        Dim myArray() As Integer = {10, 3, 12, 23, 9}

        Dim item As Integer

        For Each item In myArray

            Console.WriteLine(item)

        Next

        Console.ReadKey()

    End Sub

End Module

Шаг 3) Нажмите кнопку Пуск на верхней панели, чтобы запустить код. Вы должны получить следующий результат:

Вот скриншот кода:

Объяснение кода:

  1. Создание модуля с именем Module1.
  2. Начало основной подпроцедуры.
  3. Создание массива с именем myArray с набором из 4 целых чисел.
  4. Создание целочисленной переменной с именем item.
  5. Использование переменной item для перебора элементов массива с именем myArray.
  6. Печать элементов, найденных в массиве, указанным выше оператором на консоли.
  7. Конец цикла For Each.
  8. Приостановка окна консоли на некоторое время в ожидании действий пользователя по закрытию окна.
  9. Конец основной подпроцедуры.
  10. Конец модуля.

Вложено для циклов

Цикл For Each может быть вложенным. Это произойдет, когда мы поместим один цикл For Each в другой цикл For Each. Давайте продемонстрируем это на примере.

Шаг 1) Создайте новое консольное приложение.

Шаг 2) Используйте следующий код:

Module Module1
    Sub Main()

        Dim nums() As Integer = {12, 23, 35}

        Dim names() As String = {"Guru99", "alice", "antony"}

        For Each n As Integer In nums

            For Each st As String In names

                Console.Write(n.ToString & st & " ")

            Next

        Next

        Console.ReadKey()

    End Sub

End Module

Шаг 3) Нажмите кнопку «Пуск» в верхней панели, чтобы выполнить код. Вы должны получить следующий вывод:

Вот скриншот кода:

Объяснение кода:

  1. Создание модуля с именем Module1.
  2. Начало основной подпроцедуры.
  3. Создание массива с именем nums с набором целых чисел.
  4. Создание массива именованных с набором имен.
  5. Создание переменной n и использование ее для перебора элементов, содержащихся в массиве с именем nums. Это внешний цикл For Each.
  6. Создание переменной с именем st и использование ее для перебора элементов, содержащихся в массиве с именем names. Это внутренний цикл For Each.
  7. Объединение предметов из двух массивов. Каждый элемент в массиве nums будет объединен с каждым элементом в массиве имен. Функция ToString помогает нам преобразовывать числа, считанные из массива nums, в строки. «» Помогает нам создать пробел после каждой комбинации. Комбинация была достигнута с помощью & (амперсанд).
  8. Конец внутреннего цикла For Each.
  9. Конец внешнего цикла For Each.
  10. Приостановите окно консоли, ожидая действий пользователя, чтобы закрыть его.
  11. Конец основной подпроцедуры.
  12. Конец модуля.

Выйти и продолжить для

При использовании оператора Exit For выполнение выйдет из цикла For Each… Next, и элемент управления будет передан операторам, которые следуют после оператора Next.

При использовании оператора Continue For управление будет передано на следующую итерацию вашего цикла. Давайте продемонстрируем это на примере:

Шаг 1) Начните с создания нового консольного приложения.

Шаг 2) Используйте следующий код:

Module Module1
    Sub Main()

        Dim nums() As Integer =
    {10, 12, 14, 17, 19, 23, 26, 31, 33, 37, 40, 48}

        For Each n As Integer In nums

            If n >= 17 And n <= 25 Then
                Continue For
            End If

            Console.Write(n.ToString & " ")

            If n = 37 Then
                Exit For
            End If
        Next


        Console.ReadKey()

    End Sub

End Module

Шаг 3) Запустите код, нажав кнопку «Пуск» на верхней панели. Вы должны получить следующий результат:

Вот скриншот кода:

Объяснение кода:

  1. Создание модуля с именем module1.
  2. Начало основной подпроцедуры.
  3. Создание массива с именем nums с набором целых чисел.
  4. Создавая переменную с именем n, мы используем ее для перебора элементов, содержащихся в массиве nums.
  5. Использование условия If… Then для проверки значения переменной n. Если значение находится между 17 (17 включенными) и 25 (25 включенными), итерация перейдет к следующему элементу в массиве.
  6. Пропуск вышеуказанных значений производится здесь. Это утверждение, необходимое для выполнения пропуска. Это означает, что цикл For Each не будет выполняться для пропущенных элементов.
  7. Завершите условие If.
  8. Печать значений, полученных из массива на консоли. Функция ToString помогает нам преобразовывать значения из чисел в строки. «» Создаст некоторое пространство после каждого напечатанного значения.
  9. Проверка итерационной переменной n, когда ее значение равно 37, с использованием условия If… Then.
  10. Выход из цикла For Each, когда вышеприведенное условие истинно, то есть значение n = 37. Это означает, что итерация элементов массива будет остановлена.
  11. Конец вышеуказанного условия If.
  12. Конец For … Каждое утверждение.
  13. Приостановите окно консоли, ожидая действий пользователя, чтобы закрыть его.
  14. Конец основной подпроцедуры.
  15. Конец модуля.

Резюме

  • Оператор For Each используется для итерации каждого элемента, содержащегося в коллекции или массиве.
  • Во время разработки вы можете комбинировать оператор For Each с операторами Exit For и Continue For, чтобы контролировать выполнение итерации.