Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Использование оператоа for




Цикл for позволяет выполнять блок кода заданное количество раз, отслеживая число выполняемых итераций с помощью переменной-счетчика. Синтаксис цикла for содержит следующие элементы:

· Ключевое слово for для определения цикла for.

· Спецификацию цикла, состоящую из следующих элементов:

a. переменная-счетчик (это может быть переменная, которая уже определена или переменная, которая определяется как часть спецификации цикла);

b. начальное значение для переменной-счетчика;

c. предельное значение для переменной-счетчика;

d. инструкции о том, как изменять переменную-счетчик в конце каждой итерации;

· Блок кода для выполнения каждой итерации.

Цикл for имеет следующий синтаксис.

for ([counter variable] = [starting value]; [limit]; [counter modification])

{

[Code to loop]

}

В таблице описаны цели заполнителей кода, представленного выше.

Заполнитель Использование
[counter variable] Идентификатор существующей числовой переменной или определение новой числовой переменной.
[starting value] Число, присваиваемое переменной-счетчику на первой итерации.
[limit] Условие, проверяемое в начале каждой итерации. Если условие оценивается как истинное, цикл продолжается. Если оно оценивается как ложное, цикл завершается.
[counter modification] Операции для выполнения в конце каждой итерации.

Следующий пример кода показывает простой цикл for, выполняющий 10 итераций. Переменая-счетчик создается на первой итерации, устанавливается в 0 и увеличивается в конце каждой итерации на 1. Когда значение i достигает 10, цикл завершается (при i равно 10 цикл не работает).

for (int i = 0; i < 10; i++)

{

// Code to loop, which can use i.

}

Следующий код выполняется пять раз со значениями i для каждой итерации 0, 2, 4, 6 и 8.

for (int i = 0; i < 10; i = +2)

{

// Code to loop, which can use i.

}

В приведенных примерах, управляющая переменная i создается как часть конструкции for. Область видимости этой переменой – тело цикла for. Когда цикл заканчивается, переменная i не доступна. Если необходимо изучить значение управляющей переменной за пределами цикла, нужно объявить переменную перед началом цикла и использовать ее, как показано в следующем примере кода.

int j;

for (j = 0; j < 10; j++)

{

// Code to loop, which can use j.

}

// j is also available here

Можно использовать вложенные циклы for, каждый из которых определяет свою собственную переменную-счетчик. Эта идиома полезна при обработке многомерных массивов. В следующем примере показано, как использовать два вложенных цикла for для обработки в обратном порядке символов в массиве строк.

string[] strings = new string[]{"One", "Two", "Three", "Four", "Five"};

string result = "";

for (int stringIndex = 0; stringIndex < strings.Length; stringIndex++)

{

for (int charIndex = strings[stringIndex].Length - 1; charIndex >= 0; charIndex--)

{

result += strings[stringIndex][charIndex];

}

}

После инициализации переменных внешний цикл for итерируется по значениями счетчика 0, 1, 2, 3, 4 (strings.Length: 5). Для каждого значения этого счетчика соответствующая строка в массиве используется для определения начального значения для счетчика внутреннего цикла. Внутренний цикл перебирает строку посимвольно, начиная с конца строки и продвигаясь в обратном порядке (управляющая переменная charIndex установлена в длину строки и уменьшается в конце каждой итерации. Цикл останавливается, когда charIndex меньше нуля. Тело внутреннего цикла извлекает символ, который индексируется charIndex от строки stringIndex в массиве. Следует отметить, что можно извлечь отдельные символы из строки, используя массивоподобный доступ с помощью индекса. Когда каждый символ в строке обработан, первая итерация внешнего цикла завершена, и внешний цикл начинает вторую итерацию. Этот процесс продолжается, пока не обработается каждый символ в каждой строке. Значением result при завершении работы кода является строка «enOowTeerhTruoFeviF».

4.5. Операторы break и continue

При использовании операторов циклов while, do и for для изменения поведения цикла можно использовать операторы break и continue. Следует помнить, что эти операторы следует использовать с осторожностью, поскольку они могут привести к коду, который трудно понимать и поддерживать.

Оператор break. Оператор break позволяет полностью выйти из цикла и перейти к следующей строке кода вне цикла. Оператор break особенно полезен, если происходит итеририрование по массиву в поисках записи для преждевременного (до выполнения условия окончания) выхода из цикла при ее нахождении. Не следует путать использование оператора break в цикле с его использованием в операторе switch. В следующем примере показан досрочный выход из цикла, когда в массиве найдено значение 5.

int[] oldNumbers = { 1, 2, 3, 4, 5, 6, 7, 8 };

int count = 0;

while (oldNumbers.Length > count)

{

if (oldNumbers[count] == 5)

{

break;

}

count++;

}

При использовании в циклах while, do и for оператор break ведет себя одинаково.

Оператор continue. Оператор continueпохож на оператор break за исключением того, что, вместо выхода из цикла полностью, он пропускает оставшийся код текущей итерации, проверяет условие, и, в случае его истинности, начинает следующую итерацию цикла. В следующем примере кода показано, как добавить дополнительную логику в цикл while, который не будет выполняться, пока не найдено значение 5.

int[] oldNumbers = { 1, 2, 3, 4, 5, 6, 7, 8 };

int count = 0;

while (oldNumbers.Length > count)

{

if (oldNumbers[count] == 5)

{

continue;

}

// Code that won't be hit when the value 5 is found

count++;

}

Оператор continue ведет себя одинаково при использовании в циклах while и do. Существует небольшое различие при его использовании в цикле for – в этом цикле оставшийся код текущей итерации пропускается, как и в других циклах, но модификатор переменной счетчика изменяется до проверки условия и начала следующей итерации.

5. Урок 5: Создание и использование массивов

Любая переменная в текущий момент времени содержит только одно значение. Однако часто необходимо хранить и обрабатывать множество значений, о котором нельзя знать заранее, насколько большим оно является. Например, когда имеется список клиентов в базе данных, которую нужно получить и обработать. Массивы позволяют считывать и обрабатывать переменное число связанных с ним элементов данных. Урок знакомит с массивами и объясняет, как их можно использовать для хранения и управления данными.

5.1. Что такое массив?

Массив представляет собой набор объектов, которые сгруппированы вместе и управляются как единое целое. О массиве можно думать как о последовательности элементов. Все элементы массива имеют одинаковый тип. Можно создавать простые массивы, которые имеют одно измерение (список), два измерения (таблицу), три измерения (куб) и так далее. Массивы имеют следующие характеристики:

· Каждый элемент в массиве содержит значение.

· Массивы индексируются с нуля. Первым индексом в массиве является 0.

· Длина массива это общее число элементов, которое он может содержать.

· Нижняя граница массива индекс его первого элемента.

· Массивы могут быть одномерными, многомерными или непрямоугольные (массивы массивов).

· Ранг массива это число измерений в массиве.

Массивы определенного типа могут содержать только элементы этого типа. Если нужно манипулировать множеством похожих объектов или типов значений, можно воспользоваться одним из типов коллекций, которые определены в пространстве имен System.Collections.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных