Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
инфа теория передел.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
447.59 Кб
Скачать

Оператор break

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

using System;  class BreakTestApp {  public static void MainQ {  for (Int 1=1; 1 <= 100; 1 ++) <  if (0 == i X 6) {  Console.WriteLine(i); }  if (i == 66) {  break; } } } }  } 

Оператор goto-оператор безусловного перехода. Когда в программе встречается оператор goto, ее выполнение переходит непосредственно к тому месту, на которое указывает этот оператор.

Оператор goto может иметь одну из следующих форм: 

goto идентификатор', 

goto case выражение-константа', 

goto default. 

7. Операторы цикла (for, while, do-while, foreach, break continue).

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

Пример: class ForLoopTest

{

static void Main()

{

for (int i = 1; i <= 5; i++)

{ Console.WriteLine(i);}

}

}

Цикл while выполняет оператор или блок операторов, пока определенное выражение не примет значение false.

n = 0;

while (n < 6)

{

Console.WriteLine("Значение n = {0}", n);

n++;

}

Цикл do .. while выполнит блок операторов как минимум один раз, а затем повторит выполнение цикла до тех пор, пока условное выражение не возвратит значение false.

n = 12;

do {

Console.WriteLine("Значение n = {0}", n);

n++;

} while (n < 6);

В данном примере тело цикла выполнится - но только один раз.

Цикл foreach позволяет производить итерацию по каждому объекту в контейнерном классе, поддерживающем интерфейс IEnumerable. К контейнерным классам относятся массивы, классы коллекций (System.Collection) и определенные пользователем классы коллекций. 

Пример цикла foreach:

int[] Ints = { 1, 2, 3 };

foreach (int temp in Ints)

{

Console.WriteLine(temp);

}

Оператор break можно использовать для выхода из цикла for, foreach, while, do..while.

Оператор continue прерывает только текущую итерацию, т.е. выполнение будет продолжено со следующей итерации цикла, а не выйдет из цикла.

class ContinueTest

{

static void Main()

{

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

{

if (i < 9)

{

continue;

}

Console.WriteLine(i);

}

Console.WriteLine("Press any key to exit.");

Console.ReadKey();

}

}

8. Обработка исключений (операторы обработки исключений, класс Exception, создание объектов Exception, захват исключения, последовательность обработки исключений, классы Debug и Trace)

Оператор try

Оператор try содержит три части:

1.контролируемый блок — составной оператор, предваряемый ключевым словом try. В контролируемый блок включаются потенциально опасные операторы программы. Все функции, прямо или косвенно вызываемые из блока, также считаются ему принадлежащими;

2.один или несколько обработчиков исключений — блоков catch, в которых описывается, как обрабатываются ошибки различных типов;

3.блок завершенияfinally выполняется независимо от того, возникла ошибка в контролируемом блоке или нет.

Синтаксис оператора try:

try блок [ блоки catch ] [ блок finally ]

Отсутствовать могут либо блоки catch, либо блок finally, но не оба одновременно.

Пример:

try {

   ...  // Контролируемый блок

}

catch ( OverflowException e ) {

    ...    // Обработка исключений класса OverflowException (переполнение)

}

catch ( DivideByZeroException ) {

    ... // Обработка исключений класса DivideByZeroException (деление на 0)

}

catch {

    ...    // Обработка всех остальных исключений

}

Оператор throw

Для генерации исключения используется оператор throw с параметром, определяющим вид исключения. Параметр должен быть объектом, порожденным от стандартного класса System.Exception. Этот объект используется для передачи информации об исключении его обработчику.

Синтаксис оператора throw:

throw [ выражение ];

например:

throw new DivideByZeroException();

Класс Exception

 Все классы исключений могут быть унаследованы от встроенного класса исключений Exception, который является частью пространства имен System. Именно поэтому все исключения представляют собой подклассы класса Exception.

Создание объектов Exception

исключения являются объектами, класс которых является наследником класса Exception.

При выполнении оператора throw создается объект te, класс TE которого характеризует текущее исключение, а поля содержат информацию о возникшейисключительной ситуации

Классы Debug и Trace

Классы Debug и Trace - это классы-двойники. Оба они находятся в пространстве имен Diagnostics, имеют идентичный набор статических свойств и методов с идентичной семантикой. Debug имеют атрибут условной компиляции с константой DEBUG, действуют только в Debug-конфигурации проекта и игнорируются в Release-конфигурации. Методы класса Trace включают два атрибута Conditional с константами DEBUG и TRACE и действуют в обеих конфигурациях. Замечательным свойством методов классов Debug и Trace является то, что они могут иметь много «слушателей», направляя вывод каждому из них. Свойство Listeners этих классов возвращает разделяемую обоими классами коллекцию слушателей - TraceListenerCollection.