- •Назначение платформы .Net Framework.
- •Версии платформы .Net
- •Общие концепции синтаксиса языка с#
- •Система типов clr и языка c#. Типы-значения и ссылочные типы
- •Система типов clr и языка c#. Преобразование типов
- •Идентификаторы, ключевые слова и литералы в языке c#
- •Допустимые элементы класса
- •Классы. Модификаторы доступа для элементов и типов
- •Классы. Использование класса
- •Методы. Описание метода. Вызов метода
- •Описание метода
- •Вызов метода
- •12, 13. Интерфейсы в языке c#. Объявление и реализация интерфейсов
- •14. Универсальные шаблоны. Универсальные классы и структуры
- •Универсальные классы и структуры
- •15. Универсальные шаблоны. Ограничения на параметры универсальных типов
- •16. Делегаты в языке с#
- •17. Анонимные методы и лямбда-выражения в языке c#
- •18. Понятие Пространства имен. Применяемые пространства имен в .Net.
- •19. Препроцессорные директивы
- •20. Создание проекта в Visual Studio. Интерфейс среды.
- •21. Настройка внешнего вида и поведения формы. Добавление элементов управления. Категории элементов.
- •22. Создание mdi-приложений. Главное и дочерние окна. Упорядочивание mdi-окон
- •23. Работа с текстовыми файлами. Запись, чтение, открытие, создание.
- •24, 25, 26 Сериализация объектов в .Net.
- •27. Жизненный цикл объектов. Алгоритм «сборки мусора» Жизненный цикл объектов
- •Сборщик мусора
- •28. Жизненный цикл объектов. Финализаторы
- •29. Xml. Правило построения xml-документов Понятие о языке xml
- •Простейший xml-документ
- •30. Создание, сохранение, загрузка xml Создание, сохранение, загрузка xml
- •31. Состав и взаимодействие сборок
- •32 Многопоточное программирование. Класс Thread. Основные свойства класса.
- •33 Многопоточное программирование. Пул потоков
- •34. Синхронизация потоков
- •35, 36, 37. Аспекты безопасности .Net
- •35 Аспекты безопасности .Net. Разрешение на доступ
- •36 Аспекты безопасности .Net. Изолированные хранилища
- •37 Аспекты безопасности .Net. Криптография
- •38. Работа с ключами реестра в .Net.
- •43. Методы доступа к субд.
- •44. Метод доступа ado .Net.
- •45 Работа с элементами управления DataSet.
- •46. Создание базы данных ms sql server.
- •47. Соединение с базой данных. Открытие и закрытие соединения с базой данных.
- •48. Адаптер SqlDataAdapter. Запросы sql.
- •49 Разработка Windows приложений с использованием com объектов
- •50. Работа с com сервером Excel. Запуск и закрытие Excel из приложения на c#. Создание рабочих книг
- •51 Работа с com сервером Excel. Вывод информации в ячейки Excel
- •52 Работа с com сервером Excel. Создание диаграмм
- •53 Работа с com сервером Word. Создание и сохранение документов
- •54 Работа с com сервером Word. Вывод текстовой информации
- •55 Работа с com сервером Word. Работа с таблицами
Общие концепции синтаксиса языка с#
Специально для платформы .NET был разработан новый язык программирования C#. Этот язык сочетает простой синтаксис, похожий на синтаксис язы-ков C++ и Java, и полную поддержку всех современных объектно-ориентирован-ных концепций и подходов. В качестве ориентира при разработке языка было выбрано безопасное программирование, нацеленное на создание надёжного и простого в сопровождении кода. Здесь и далее рассматривается синтаксис пятой версии языка C#, доступной в составе .NET Framework 4.5. Ключевыми структурными понятиями в языке C# являются программы, сборки, пространства имён, пользовательские типы, элементы типов. Исходный код программы на языке C# размещается в одном или нескольких текстовых файлах, имеющих стандартное расширение .cs. В программе объявляются поль-зовательские типы, которые состоят из элементов. Примерами пользовательских типов являются классы и структуры, а примером элемента типа – метод класса. Типы могут быть логически сгруппированы в пространства имён, а физически (после компиляции) – в сборки, представляющие собой файлы с расширением .exe или .dll. Исходный код программы на языке C# – это набор операторов (statements), директив препроцессора и комментариев. Операторы языка C# и допустимые директивы препроцессора подробно будут рассмотрены далее.
Комментарии игнорируются при компиляции и бывают двух видов:
Однострочный комментарий – это комментарий, начинающийся с после-довательности // и продолжающийся до конца строки.
Блочный (многострочный) комментарий – все символы, заключённые между парами /* и */.
В C# различаются строчные и прописные символы при записи идентификаторов и ключевых слов. Количество пробелов в начале строки, в конце строки и между элементами строки значения не имеет. Это позволяет улучшить визуальную структуру исходного кода программы – операторы одного уровня вложенности обычно сопровождаются одинаковым начальным отступом.
Система типов clr и языка c#. Типы-значения и ссылочные типы
C# является строго типизированным языком. Каждая переменная и константа имеет тип, как и каждое выражение, результатом вычисления которого является значение. Каждая сигнатура метода задает тип для каждого входного параметра и для возвращаемого значения. Библиотека классов платформы .NET Framework определяет набор встроенных числовых типов, а также более сложных типов, представляющих широкое разнообразие логических конструкций, например, файловую систему, сетевые подключения, коллекции и массивы объектов и даты. Типичная программа C# использует типы из библиотеки классов, а также пользовательские типы, моделирующие принципы, относящиеся к проблемной области программы.
К сведениям, хранимым в типе, может относиться следующее:
Место для хранения, необходимое для переменной типа.
Максимальное и минимальное значения, которые могут быть представлены.
Содержащиеся члены (методы, поля, события и т. д.).
Базовый тип, который он наследует.
Расположение, в котором будет выделена память для переменных во время выполнения.
Разрешенные виды операций.
Компилятор использует сведения о типе, чтобы убедиться, что все операции, выполняемые в коде, являются типобезопасными. Например, при объявлении переменной типа int, компилятор позволяет использовать в дополнение переменную и операции вычитания.
Компилятор внедряет сведения о типе в исполняемый файл в качестве метаданных. Среда CLR использует эти метаданные во время выполнения для дальнейшего обеспечения безопасности типа при выделении и освобождении памяти.
Типы значений являются производными от System.ValueType, являющегося производным от System.Object. Типы, производные от System.ValueType, имеют особое поведение в среде CLR. Переменные типа значения напрямую содержат их значения, что означает, что память встроена в контекст, в котором объявлена переменная.Не существует отдельного размещения кучи или служебных данных сборки мусора для переменных типа значения.
Существует две категории типов значений: структура и перечисление.
Тип, определенный как класс, делегат, массив или интерфейс, является ссылочным типом. Во время выполнения при объявлении переменной ссылочного типа переменная содержит значение null до явного создания экземпляра объекта с помощью оператора new или назначения его объекту, который был создан в другом месте, с помощью new. Интерфейс должен быть инициализирован вместе с объектом класса, который его реализует.
