- •1 Концепция структурного программирования. Причины появления концепции. Модульность и функции. Ограничения на логические конструкции. Использование оператора goto.
- •Теорема о структурном программировании (Теорема Бёма — Якопини)
- •3 Платформа .Net Framework. Многоязыковое программирование. Кроссплатформенность по. Web-ориентированные приложения.
- •Преимущества технологии динамической компиляции
- •5 Построение приложения Windows в интегрированной среде программирования
- •6 Основные типы данных
- •7 Символы и строки. Символы, строки и массивы строк. Операции над строками
- •8 Структура программы на языке c#. Понятие пространства имен. Иерархия пространств имен. Видимость имен.
- •9 Операторы. Основные языка с#. Арифметические и логические операторы. Бинарные и унарные операторы. Составные операторы. Понятие перегрузки операторов.
- •10 Выражения. Приоритет и ассоциативность операторов. Порядок вычисления выражения.
- •11 Преобразования типов. Иерархия численных типов. Явное и неявное преобразование типов. Возможные ошибки.
- •12 Тема: Модификаторы доступа языка c#. Необходимые знания: Назначение и функции модификаторов private, public, protected, internal, protected internal, private protected.
- •13 Выбор вариантов.
- •If (Условие)
- •14 Циклы.
- •15 Классы памяти
- •16 Функции в языке с#
- •17 Массивы. Создание и инициализация. Ссылки на массив. Двухмерные и многомерные массивы. Инициализация массивов. Невыровненные массивы.
- •18 Понятие класса. Определение класса и экземпляр класса. Данные и методы. Ключевое слово partial.
- •19 Создание объекта класса.
- •20 Деструкторы и «сборка мусора». Оператор «new». Резервирование и освобождение памяти. Деструкторы и «сборка мусора».
- •21 Полиморфизм и перегрузка операторов. Перегрузка унарных и бинарных операторов. Семантика перегрузки операторов в с#.
- •Понятие полиморфизма и шаблоны. Назначение и преимущества использования шаблонов. Параметры универсального типа.
- •23 Свойства c# (Понятие инкапсуляции и свойства в c#. Использование ключевых слов «get» и «set». Преимущества использования свойств.)
- •24 Механизм исключений (Назначение исключений. Основные категории исключений. Ключевые слова try, catch и finally, throw.)
- •25 Наследование в c#. Понятие наследования в c#. Механизм наследования. Базовый и производный классы. Наследование и модификаторы доступа.
6 Основные типы данных
В C# имеются две общие категории встроенных типов данных: типы значений (value type) и ссылочные типы (reference type).
Понятие «встроенные типы данных» означает, что для определения переменной выбранного типа достаточно указать одно из ключевых слов, указанных в прямоугольниках, и через пробел идентификатор переменной (double d)
Описание различных типов
В переменных ссылочных типов хранятся ссылки на их данные (объекты), а переменные типа значений содержат свои данные непосредственно.
Ссылочные типы:
object: представляет тип общего назначения (general purpose type). В C# все предопределенные типы и заданные пользователем типы наследуются от типа object или класса System.Object.
string: представляет строку символов Unicode (стандарт кодирования символов). Позволяет просто манипулировать строками и назначать их. Строки не являются мутируемыми (они immutable), т. е. будучи созданными, они не могут быть модифицированы.
Численные типы данных. Назначение. Разрядность. Диапазон значений
bool: хранит одно из двух возможных значений: true или false. Использование типа bool - одна из областей, где C# отличается от наследия C и С++. В языках C и C++ целое число 0 было синонимом false, и любое ненулевое значение было синонимом true. Однако в C# тип bool не является синонимом целого типа. Вы не можете сконвертировать переменную целого типа в эквивалентную переменную bool.
float: хранит 32-битное число с плавающей запятой, со знаком. Диапазон значений от 1,5 * 10-45 до 3,4 * 1038
double: хранит 64-битное число с плавающей запятой, со знаком. Диапазон значений от 5 * 10-324 до 1,7 * 10308.
decimal: хранит 128-битное число с плавающей запятой, со знаком. Переменные типа decimal хорошо подходят для финансовых вычислений.
Переменные и константы
Переменная – это именованная область памяти. В переменную можно записывать данные и считывать. Данные, записанные в переменной, называются значением переменной.
Константа – это переменная, значение которой нельзя изменить. Константы используются для гарантирования того, что данные в этой переменной не изменятся.
7 Символы и строки. Символы, строки и массивы строк. Операции над строками
Термин символ используется здесь в общем смысле того, что читатель воспринимает как отдельный отображаемый элемент.
То, что выглядит как один символ, может быть результатом комбинации нескольких кодовых точек. Таким образом, более описательным термином, который часто используется вместо термина "символ", является кластер графем. В .NET эквивалентным термином является текстовый элемент.
Строка — это объект типа String, значением которого является текст. Внутри программы текст хранится в виде упорядоченной коллекции объектов Char только для чтения. В конце строки C# нет символа, завершающего значение NULL; поэтому строка C# может содержать любое количество внедренных символов NULL ('\0'). Свойство Length строки соответствует числу содержащихся в ней объектов Char, но не числу символов Юникода. Для доступа к отдельным кодовым точкам Юникода в строке используйте объект StringInfo.
Массив — это структура данных, содержащая ряд переменных, к которым осуществляется доступ с помощью вычисляемых индексов. Все содержащиеся в массиве переменные, также называемые элементами массива, относятся к одному типу. Этот тип называется типом элемента массива.
Сами массивы имеют ссылочный тип, и объявление переменной массива только выделяет память для ссылки на экземпляр массива. Фактические экземпляры массива создаются динамически во время выполнения с помощью оператора new. Операция new задает длину нового экземпляра массива, который затем фиксируется на время существования экземпляра. Элементы массива имеют индексы в диапазоне от 0 до Length - 1. Оператор new автоматически инициализирует все элементы массива значением по умолчанию. Например, для всех числовых типов устанавливается нулевое значение, а для всех ссылочных типов — значение null.
Операции над строками:
создание экземпляра объекта string
объявление и инициализация строк;
доступ к отдельным символам (Используя нотацию массива со значением индекса, можно получить доступ только для чтения к отдельным символам);
интерполяция строк C# позволяет форматировать строки путем определения выражений, результаты которых помещаются в строку формата;
разделение строк на подстроки: Метод String.Split создает массив подстрок, разбивая входную строку по одному или нескольким разделителям. Этот метод зачастую является самым простым способом разделить строку по границам слов. Он также используется для разбиения строк по другим конкретным символам или строкам;
объединение строк: Объединение подразумевает добавление одной строки к концу другой. Вы можете сцеплять строки с помощью оператора +. Строковые литералы и константы сцепляются во время компиляции, а не во время выполнения. Строковые переменные сцепляются только во время выполнения;
поиск по строкам: поиск определенного текста. Операции: Содержит ли строка текст; где искомый текст находится в строке; Поиск определенного текста с помощью регулярных выражений; Соответствует ли строка шаблону;
изменение содержимого строк: возвращают результат изменений как новый объект string. Операции: Замена текста; усечение пробелов; удаление текста; замена совпадающих шаблонов; Изменение отдельных символов;
сравнение строк: Сравнения используются для сортировки последовательности строк. Операции: Порядковые сравнения по умолчанию; Порядковые сравнения без учета регистра; Лингвистические сравнения; Лингвистическая сортировка и поиск строк в массивах; Порядковая сортировка и поиск в коллекциях; Равенство ссылок и интернирование строк