Герберт Шилдт - C# 4.0: полное руководство
- Название:C# 4.0: полное руководство
- Автор:
- Жанр:
- Издательство:ООО И.Д. Вильямс
- Год:2011
- Город:Москва -- Киев
- ISBN:978-5-8459-1684-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Герберт Шилдт - C# 4.0: полное руководство краткое содержание
В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки.
Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию
C# 4.0: полное руководство - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Оператор цикла while
Еще одним оператором цикла в C# является оператор while. Ниже приведена общая форма этого оператора:
while ( условие) оператор ;
где оператор — это единственный оператор или же блок операторов, а условие означает конкретное условие управления циклом и может быть любым логическим выражением. В этом цикле оператор выполняется до тех пор, пока условие истинно. Как только условие становится ложным, управление программой передается строке кода, следующей непосредственно после цикла.
Ниже приведен простой пример программы, в которой цикл while используется для вычисления порядка величины целого числа.
// Вычислить порядок величины целого числа,
using System;
class WhileDemo {
static void Main() {
int num;
int mag;
num = 435679;
mag = 0;
Console.WriteLine("Число: " + num);
while(num > 0) {
mag++;
num = num / 10;
};
Console.WriteLine("Порядок величины: " + mag);
}
}
Выполнение этой программы дает следующий результат.
Число: 435679
Порядок величины: 6
Приведенный выше цикл while
действует следующим образом. Сначала проверяется значение переменной num. Если оно больше нуля, то переменная mag, выполняющая роль счетчика порядка величины, инкрементируется, а значение переменной num делится на 10. Цикл повторяется до тех пор, пока значение переменной num остается больше нуля. Как только оно окажется равным нулю, цикл завершается, а в переменной mag остается порядок величины первоначального числового значения.
Как и в цикле for
, в цикле while
проверяется условное выражение, указываемое в самом начале цикла. Это означает, что код в теле цикла может вообще не выполняться, а также избавляет от необходимости выполнять отдельную проверку перед самим циклом. Данное свойство цикла while
демонстрируется в следующем примере программы, где вычисляются целые степени числа 2 от 0 до 9.
// Вычислить целые степени числа 2.
using System;
class Power {
static void Main() {
int e;
int result;
for (int i=0; i < 10; i++) {
result = 1;
e = i;
while (e > 0) {
result *= 2;
e--;
}
Console.WriteLine ("2 в степени " + i + " равно " + result);
}
}
}
Результат выполнения этой программы приведен ниже.
2 в степени 0 равно 1
2 в степени 1 равно 2
2 в степени 2 равно 4
2 в степени 3 равно 8
2 в степени 4 равно 16
2 в степени 5 равно 32
2 в степени 6 равно 64
2 в степени 7 равно 128
2 в степени 8 равно 256
2 в степени 9 равно 512
Обратите внимание на то, что цикл while
выполняется только в том случае, если значение переменной е больше нуля. А когда оно равно нулю, как это имеет место на первом шаге цикла for
, цикл while
пропускается.
Оператор цикла do-while
Третьим оператором цикла в C# является оператор do-while
. В отличие от операторов цикла for
и while
, в которых условие проверялось в самом начале цикла, в операторе do-while условие выполнения цикла проверяется в самом его конце. Это означает, что цикл do-while
всегда выполняется хотя бы один раз. Ниже приведена общая форма оператора цикла do-while
.
do {
операторы ;
} while ( условие ) ;
При наличии лишь одного оператора фигурные скобки в данной форме записи необязательны. Тем не менее они зачастую используются для того, чтобы сделать конструкцию do-while более удобочитаемой и не путать ее с конструкцией цикла while. Цикл do-while
выполняется до тех пор, пока условное выражение истинно.
В приведенном ниже примере программы цикл do-while
используется для представления отдельных цифр целого числа в обратном порядке.
// Отобразить цифры целого числа в обратном порядке.
using System;
class DoWhileDemo {
static void Main() {
int num;
int nextdigit;
num = 198;
Console.WriteLine("Число: " + num);
Console.Write("Число в обратном порядке: ");
do {
nextdigit = num % 10;
Console.Write(nextdigit);
num = num / 10;
} while(num > 0);
Console.WriteLine() ;
}
}
Выполнение этой программы дает следующий результат.
Число: 198
Число в обратном порядке: 891
Приведенный выше цикл действует следующим образом. На каждом его шаге крайняя слева цифра получается в результате расчета остатка от деления целого числа (значения переменной num) на 10. Полученная в итоге цифра отображается. Далее значение переменной num делится на 10. А поскольку это целочисленное деление, то в его результате крайняя слева цифра отбрасывается. Этот процесс повторяется до тех пор, пока значение переменной num не достигнет нуля.
Оператор цикла foreach
Оператор цикла foreach
служит для циклического обращения к элементам коллекции , которая представляет собой группу объектов. В C# определено несколько видов коллекций, к числу которых относится массив. Подробнее о цикле foreach
речь пойдет в главе 7, где рассматриваются массивы.
Применение оператора break для выхода из цикла
С помощью оператора break
можно специально организовать немедленный выход из цикла в обход любого кода, оставшегося в теле цикла, а также минуя проверку условия цикла. Когда в теле цикла встречается оператор break
, цикл завершается, а выполнение программы возобновляется с оператора, следующего после этого цикла. Рассмотрим простой пример программы.
// Применить оператор break для выхода из цикла.
using System;
class BreakDemo {
static void Main() {
// Использовать оператор break для выхода из этого цикла,
for(int i= -10; i <= 10; i++) {
if(i > 0) break; // завершить цикл, как только значение
// переменной i станет положительным
Console.Write(i + " ");
Интервал:
Закладка: