Ватсон Карли
Шрифт:
Есть и другие несущественные различия в синтаксисе объявления массивов, но мы будем придерживаться приведенных здесь правил. Когда имеется массив, то значения его элементам присваиваются обычным образом. Отметим, однако, одно различие между C# и VB, состоящее в том, что C# всегда начинает с элемента с индексом 0. В VB имеется возможность изменить его на индекс 1, используя инструкцию
В приведенном выше коде после инициализации элементов массива мы перебираем их в цикле. Необычный синтаксис цикла
Отметим, что поскольку массив был объявлен как массив объектов
С другой стороны, хотя используются ссылки
Цикл for
Давайте теперь рассмотрим странный синтаксис цикла
Идея цикла
В C# цикл
VB | C# | |
---|---|---|
В начале цикла | Инициализация управляющей переменной цикла | Выполнить что-то |
Проверка на выход из цикла | Не превысила ли переменная цикла некоторого значения? | Проверка некоторого условия |
В конце каждой итерации | Увеличить управляющую переменную цикла | Выполнить что-то |
Это может выглядеть как-то неопределенно, но зато дает большую гибкость. Например, в C# вместо добавления некоторой величины к управляющей переменной цикла на каждой итерации можно добавлять какое-то число, которое считывается из файла и которое изменяется на каждой итерации. Проверка не должна быть проверкой значения управляющей переменной цикла, это может быть проверка, например, достижения конца файла. Это позволяет при подходящем выборе начального действия, проверки и действия в конце каждой итерации циклу
Надо отметить, что C# поддерживает также циклы
Давайте вернемся к точному синтаксису. Вспомним, что версия C# для приведенного выше цикла
Как можно видеть, инструкция
□ Первый элемент является действием, которое выполняется прямо в начале цикла, чтобы инициализировать цикл. В данном случае объявляется и инициализируется управляющая переменная цикла.
□ Следующим элементом является условие, определяющее завершение цикла. В данном случае условие состоит в том, что I должно быть меньше 3. Цикл продолжается, пока это условие будет