
- •12. Фундаментальные принципы ооп
- •13. Методы
- •14. Конструкторы и деструкторы
- •15. Структуры и перечисления
- •16. Свойства и поля класса
- •18. Анонимные типы
- •20. Расширяющие методы.
- •19. Перегрузка операций в классе. Явное и неявное преобразование типов. Ограничения на преобразование типов.
- •17. Статические поля, методы, конструкторы, классы.
- •2. Типы данных
- •3. Базовые типы
- •Унарные операции Можно определять в классе следующие унарные операции:
- •Бинарные операции
- •5.Выражения (порядок их вычисления, тип результата, оператор присваивания).
- •6.Операторы ветвления (if, switch, case, break , goto case).
- •Оператор break
- •Оператор goto-оператор безусловного перехода. Когда в программе встречается оператор goto, ее выполнение переходит непосредственно к тому месту, на которое указывает этот оператор.
- •7. Операторы цикла (for, while, do-while, foreach, break continue).
- •8. Обработка исключений (операторы обработки исключений, класс Exception, создание объектов Exception, захват исключения, последовательность обработки исключений, классы Debug и Trace)
- •9. Массивы (одномерные, многомерные и ступенчатые массивы, класс Array).
- •Многомерные массивы
- •Ступенчатые массивы
- •10. Создание и подключение сборок. Пространства имен (ключевые слова using, namespace)
- •11. Сложение:
- •14. Структурные блоки платформы .Net: cli, clr, cls, cts.
- •17. Таблица приоритетов операций, соответствующая Common Language Specification (cls)
- •21. Интерфейс программирования приложений WinForms.
- •22. Интерфейс программирования приложений wpf.
- •24.Кодирование символов (ascii, utf, utf-8, utf-16)
- •3.Вопросы по c# часть 1
- •22 Делегаты
- •23 События
- •24 Наследование классов
- •25 Интерфейсы
- •26 Шаблоны и интерфейс iEnumerable
- •27 Динамический тип данных
- •Статический класс Environment.
- •2) Класс DriveInfo.
- •3) Классы для работы с каталогами (папками) (System.Io.Directory, System.Io.DirectoryInfo)
- •9.2.3. Создание подпапок с помощью класса DirectoryInfo
- •9.3. Работа с классом Directory
- •9.4. Работа с классом DriveInfo
- •Классы для работы с файлами (System.Io.File, System.Io.FileInfo).
- •9.1. Абстрактный базовый класс FileSystemInfo
Оператор 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.