Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ProgBasics_lec03_foreach_exc_strings

.pdf
Скачиваний:
6
Добавлен:
14.04.2015
Размер:
628.06 Кб
Скачать

foreach

Выполняет перебор последовательности элементов.

Последовательность (коллекция) –

массив

наследник IEnumerable, IEnumerable<T>

Не следует изменять коллекцию при перечислении.

Синтаксис foreach

foreach (<type> <элемент> in <collection>) <type> - тип элемента в коллекции

<collection> - коллекция

int[] arr = { 1, 2, 3, 4, 5, 6 }; foreach (int item in arr)

{

Console.WriteLine(item * 2);

}

Пример foreach

int[] arr = { 1, 2, 3, 4, 5, 6 }; foreach (int item in arr)

{

Console.WriteLine(item * 2);

}

for (int i = 0; i < arr.Length; i++) Console.WriteLine(arr[i] * 2);

Пример foreach

double[] arr = { 1.0, 2.0, 3.0, -9, -200, 400.0 }; double maxAbs = arr[0];

foreach (double item in arr)

{

double currentAbs = Math.Abs(item);

if (maxAbs < currentAbs) maxAbs = currentAbs;

}

foreach

Изменение хода выполнения цикла – аналогично for, while:

break

continue

return

throw

goto

Перечисления

enum (перечисление) – набор именованных констант

public enum Color

{

Red = 1,

Green = 2,

Blue = 3

}

Console.WriteLine(Color.Green.ToString()); // Green

Перечисления

Можно задать любой целочисленный тип Можно создавать флаги.

public enum Color : long

{

Red = 1,

Green = 2,

Blue = 3

}

Обработка ошибок

Возможные действия при ошибке:

прервать выполнение программы

вернуть значение, означающее «ошибка»

вывести сообщение об ошибке и вернуть вызывающей программе некоторое приемлемое значение, которое позволит ей продолжать работу

выбросить исключение

Простая проверка ввода

Не самые гуманные способы обработки ошибок:

// пример проверки формата вводимого значения: double a;

if (!double.TryParse(Console.ReadLine(), out a))

{

Console.WriteLine(" Неверный формат "); return;

}

double a = double.Parse(Console.ReadLine()); if (a <= 0)

{

Console.WriteLine("Неверное значение (<= 0)"); return;

}

Проверка ввода

for (; ; )

{

double val = double.NaN; Console.WriteLine("Input the number:");

if (!double.TryParse(Console.ReadLine(), out val))

{

val = double.NaN;

Console.WriteLine("Wrong format. Retry? (y/n)"); if (Console.ReadKey().Key == ConsoleKey.N)

break; Console.WriteLine();

}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]