Основы программирования на C#

       

Класс char

Класс char

Класс char[] - массив символов
Существует ли в C# тип char*
Класс String
Объявление строк. Конструкторы класса string
Операции над строками
Строковые константы
Неизменяемый класс string
Статические свойства и методы класса String
Метод Format

Методы Join и Split
Динамические методы класса String


Класс StringBuilder - построитель строк
Объявление строк. Конструкторы класса StringBuilder
Операции над строками
Основные методы
Емкость буфера

Пространство имен RegularExpression и классы регулярных выражений
Немного теории
Синтаксис регулярных выражений
Знакомство с классами пространства RegularExpressions
Класс Regex
Классы Match и MatchCollection
Классы Group и GroupCollection
Классы Capture и CaptureCollection
Перечисление RegexOptions
Класс RegexCompilationInfo

Примеры работы с регулярными выражениями
Пример "чет и нечет"
Пример "око и рококо"
Пример "кок и кук"
Пример "обратные ссылки"
Пример "Дом Джека"
Пример "Атрибуты"

Классы и ООП
Две роли классов
Синтаксис класса
Поля класса
Доступ к полям
Методы класса
Доступ к методам
Методы-свойства
Индексаторы

Операции
Статические поля и методы класса
Константы
Конструкторы класса
Деструкторы класса
Проектирование класса Rational
Свойства класса Rational
Конструкторы класса Rational
Методы класса Rational

Закрытый метод НОД
Печать рациональных чисел
Тестирование создания рациональных чисел
Операции над рациональными числами
Константы класса Rational
Развернутые и ссылочные типы
Классы и структуры
Структуры

Синтаксис структур
Класс Rational или структура Rational
Встроенные структуры
Еще раз о двух семантиках присваивания
Перечисления
Персоны и профессии
Отношения между классами
Отношения "является" и "имеет"
Отношение вложенности

Расширение определения клиента класса
Отношения между клиентами и поставщиками
Сам себе клиент
Наследование
Добавление полей потомком
Конструкторы родителей и потомков
Добавление методов и изменение методов родителя
Статический контроль типов и динамическое связывание

Три механизма, обеспечивающие полиморфизм
Пример работы с полиморфным семейством классов
Абстрактные классы
Классы без потомков
Интерфейсы
Две стратегии реализации интерфейса
Преобразование к классу интерфейса
Проблемы множественного наследования

Коллизия имен
Наследование от общего предка
Встроенные интерфейсы
Упорядоченность объектов и интерфейс IComparable
Клонирование и интерфейс ICloneable
Сериализация объектов
Класс с атрибутом сериализации

Интерфейс ISerializable
Как определяется функциональный тип и как появляются его экземпляры
Функции высших порядков

Вычисление интеграла
Построение программных систем методом "раскрутки". Функции обратного вызова
Наследование и полиморфизм - альтернатива обратному вызову
Делегаты как свойства
Операции над делегатами. Класс Delegate

Операции "+" и "-"
Пример "Комбинирование делегатов"
Пример "Плохая служба"
Классы с событиями
Класс sender. Как объявляются события?
Делегаты и события
Как зажигаются события
Классы receiver. Как обрабатываются события
Классы с событиями, допустимые в каркасе .Net Framework

Пример "Списки с событиями"
Класс sender
Классы receiver
Две проблемы с обработчиками событий
Игнорирование коллег
Переопределение значений аргументов события
Классы с большим числом событий

Проект "Город и его службы"
Наследование и универсальность
Синтаксис универсального класса
Класс с универсальными методами
Содержание раздела