1. Введение в С# и .NET Framework 4
-
Введение в .NET Framework 4.
-
Создание проектов в Visual Studio 2010.
-
Написание проектов на С#.
-
Создание графических приложений.
-
Способы документирования кода.
-
Отладка приложений в Visual Studio 2010.
Лабораторная работа: введение в С# и .NET Framework
2. Использование программных конструкций С#
-
Создание и инициализация переменных.
-
Выражения и операторы.
-
Создание и работа с массивами.
-
Использование операторов выбора.
-
Использование операторов цикла.
Лабораторная работа: использование программных конструкций С#
3. Объявление и вызов методов
-
Создание и использование методов.
-
Работа с параметрами по умолчанию и выходными параметрами.
Лабораторная работа: объявление и вызов методов
4. Обработка исключений
-
Перехват исключений.
-
Выброс исключений.
Лабораторная работа: обработка исключений
5. Чтение и запись файлов
-
Доступ к файловой системе.
-
Чтение и запись файлов с использованием потоков.
Лабораторная работа: чтение и запись файлов.
6. Создание пользовательских типов
-
Создание и использование перечислений.
-
Создание и использование классов.
-
Создание и использование структур.
-
Сравнение ссылочного и структурного типов.
Лабораторная работа: создание пользовательских типов
7. Инкапсуляция данных и методы
-
Управление доступом к членам пользовательского типа.
-
Разделяемые методы и данные.
Лабораторная работа: инкапсуляция данных и методы
8. Наследование от классов и реализация интерфейсов
-
Использование наследование для создания нового ссылочного типа.
-
Объявление и реализация интерфейсов. •Объявление абстрактных классов.
Лабораторная работа: наследование от классов и реализация интерфейсов
9. Управление временем жизни объектов и работа с ресурсами
-
Ведение в сборку мусора.
-
Управление ресурсами.
Лабораторная работа: управление временем жизни объектов и работа с ресурсами
10. Инкапсуляция данных и определение перегруженных операций
-
Создание и использование свойств.
Лабораторная работа А: создание и использование свойств
-
Создание и использование индексаторов.
Лабораторная работа В: создание и использование индексаторов
Лабораторная работа С: перегрузка операций
11. Слабо связанные компоненты и обработка событий
-
Объявление и использование делегатов.
-
Использование лямбда выражений.
-
Обработка событий.
Лабораторная работа: слабо связанные компоненты и обработка событий
12. Использование коллекций и создание параметризованных типов
Лабораторная работа А: работа с коллекциями
-
Создание и использование параметризованных типов.
-
Создание параметризованных интерфейсов, понимание ковариации и контравариации.
-
Использование параметризованных методов и делегатов.
Лабораторная работа В: создание параметризованных типов
13. Создание и работа с пользовательской коллекцией
-
Создание пользовательской коллекции.
-
Добавление объекта перечислителя к пользовательской коллекции.
Лабораторная работа: создание и работа с пользовательской коллекцией
14. Использование LINQ для доступа к данным
-
Использование расширяющих методов LINQ и операторов для создания запросов.
-
Создание динамических запросов и выражений на LINQ.
Лабораторная работа: использование LINQ для доступа к данным
15. Интеграция кода Visual C# с динамическими языками и СОМ компонентами
-
Интеграция кода Visual C# с Ruby и Python.
-
Реализация доступа к СОМ компонентам из Visual C#.
Лабораторная работа: интеграция кода Visual C# с динамическими языками и СОМ компонентами
По окончании курса Вы будете понимать:
-
Назначение .NET Framework и роли Visual C# и Visual Studio 2010 в создании приложений.
-
Синтаксис программных конструкций C#.
-
Механизмы перехвата, обработки и выброса исключений.
-
Базовые операции ввода вывода в приложении на Visual C#.
-
Способы управления видимостью и временем жизни членов пользовательского типа.
-
Значение наследования при создании нового ссылочного типа.
-
Механизмы управления временем жизни объектов и использования ресурсов.
-
Коллекции и применять параметризованные типы для реализации типо-безопасных классов, структур, интерфейсов и методов.
-
Механизмы интеграции кода, написанного на динамических языках и СОМ компонентов с приложением на C#.