- •Введение
- •Основные сведения по языку c#
- •Общие сведения о .Net Framework
- •C# и платформа .Net Framework
- •Средства разработки для .Net Framework
- •СредаClr
- •Понятие сборки (assembly)
- •Jit-компиляция
- •Просмотр метаданных
- •Сборка мусора
- •Обзор иср
- •Иср Visual c# Express
- •Стартовая страница
- •Консольное приложение
- •Приложения Windows
- •ИсрVisual Studio .Net
- •ИсрSharpDevelop
- •Основы языка c#
- •Алфавит
- •Комментарии
- •Идентификаторы
- •Ключевые слова
- •Переменные и константы
- •Структура программы на c#
- •Пространства имен
- •Main() и аргументы командной строки
- •Операторы
- •Основные операторы
- •Унарные операторы
- •Аддитивные операторы
- •Мультипликативные операторы
- •Операторы сдвига
- •Операторы отношений
- •Операторы присваивания
- •Арифметическое переполнение
- •Математические операции
- •Литералы
- •Описание
- •Структуры
- •Инкапсуляция
- •Наследование
- •Полиморфиэм
- •Конструкторы
- •Деструкторы
- •Интерфейсы
- •Делегаты
- •Типы значений
- •Ссылочные типы
- •Тип dynamic
- •Тип object
- •Тип string
- •Встроенные базовые типы
- •Типы чисел
- •Типы целых чисел
- •Типы чисел с плавающей запятой
- •Значения типов по умолчанию
- •Преобразования типов
- •Стандартное форматирование чисел
- •Нестандартное форматирование чисел
- •Тип char - символы
- •Тип enum - перечисление
- •Тип DateTime
- •Свойства
- •Задание типов в объявлениях переменных
- •Инструкции, введение
- •Выражения
- •Разделители
- •Решения и ветвления
- •Безусловный переход вызовом функций
- •Ветвление if; else
- •Вложенные ветвления if; else
- •Выбор switch; case
- •Команда goto и метки
- •Цикл for
- •Цикл while
- •Цикл do- while
- •Безусловные переходы
- •Вечные циклы
- •Команда foreach
- •Обработкаошибок и исключений
- •Try, Catch
- •Try, Catch, Finally
- •Работа со строками
- •Представление строк
- •Метод ToString()
- •Доступ к отдельным знакам
- •Массивы и коллекции
- •Коллекции
- •Массивы
- •Использование инструкции foreach, in
- •Графика
- •Объект Graphics
- •Перо (Pen)
- •Кисть (Brush)
- •Шрифты и текст
- •Методы рисования
- •Методы заливки
- •Рисование графика функции
- •Растровая графика
- •Примитивные компоненты
- •Подробнее оCil
- •Ассемблер cil
- •Архитектура виртуальной машиныCil
- •Память для метода
- •Система типовCts
- •Типы в базовых классах .Net, c# и cil
- •Пользовательские типы данных
- •Упакованные типы-значения
- •Виртуальная система выполнения
- •Стек вычислений
- •Автоматическое управление памятью
- •Лексемы в cil
- •Директивы cil
- •Атрибуты cil
- •Коды операций в cil
- •Команды загрузки
- •Команды выгрузки
- •Вычислительные команды
- •Арифметические инструкции
- •Переходы и вызовы в il
- •Трансляция вCil
Средства разработки для .Net Framework
В настоящее время для создания программного обеспечения (ПО) для платформы .NET Framework используются ИСР - интегрированные среды разработки (IDE – Integrated DevelopmentEnvironment), в которых поддерживается технология быстрой разработки.
Для работы с .NET Framework в операционных системах Microsoft доступно несколько ИСР.
Visual Studio .Net. Платная ИСР от Microsoft. Включает набор языков программирования, выбирается желаемый язык. Интерфейс и справка на русском.VisualStudio.Net4.0 включает базовые средства:
Visual Basic .Net – язык Visual Basic. Совершенно новая версия языка, по функционалу совпадающая с C#.
Visual C# .Net – язык C#.
Visul C++ .Net – язык C++.
Visual F# .Net – язык F#, язык функционального программирования.
Visual JScript# .Net – язык JScript#.
Visual Web Developer – разработка Web приложений.
Visual Studio .Net Express. Бесплатная ИСР от Microsoft. Включает ограниченный набор языков программирования. Для каждого языка ИСР устанавливается автономно. Интерфейс и справка на русском языке. .VisualStudio.NetExpressEditionвключает:
Visual Basic .Net – язык Visual Basic.
Visul C++ .Net – язык C++.
Visual C# .Net – язык C#.
Visual Web Developer – разработка Web приложений.
SharpDevelop. Бесплатная ИС от компании SharpDevelop Р, в которой выбирается желаемый язык. Включает много языков программирования для выбора. Интерфейс русский, справка на английском языке.SharpDevelopпозволяет программировать на:Boo,C#,C++,F#,Python,Ruby, Visual Basic.
В настоящее время наиболее популярен язык VisualC#.
СредаClr
Программы для платформы .NET распространяются в виде так называемых сборок(assemblies). Каждая сборка представляет собой совокупность метаданных, описывающих типы, и CIL-кода.
Понятие сборки (assembly)
Основной задачей программиста является написание исходного текста программы на одном из языков программирования. Хороший программист, разрабатывая новую программу, не пишет весь код заново. Он старается использовать уже готовые программные коды (библиотеки), написанные как им самим, так и другими разработчиками. Если рассматривать эти библиотеки, как строительные блоки, то программист из них, как из кирпичей, строит здание – новую программу.
В процессе развития технологии программирования было несколько вариантов реализации подхода к повторному использованию кода. На сегодня это динамически подгружаемые библиотеки (DLL). DLL – это неуправляемые PE-файлы (PE – portable executable). Это значит, что компьютер, работающий под управлением Windows, способен загрузить этот файл и выполнить код, содержащийся в нем.
Данный подход используется уже несколько лет и кроме достоинств в нем есть ряд недостатков. В частности для использования DLL подгружается, но не выгружается, когда перестает использоваться. В качестве решения проблем DLL-библиотек в .NET предложен новый подход, в соответствии с которым на замену DLL-библиотекам пришло понятие сборок.
Сборка – это единица повторного использования кода, в которой поддерживается система управления версиями и заложена система управления безопасности программного обеспечения. Сборка подключается только на время исполнения кода. Файл сборки называется управляемым.
Сборка наряду с программным кодом CILсодержит метаданные и данные (ресурсы), необходимые при исполнении сборки для генерации бинарного файла. В общем виде структура сборки:
Заголовок CLR – содержит информацию, указывающую, что сборка является исполняемым файлом .NET,
Данные CLR – определяют, как будет выполняться программа. Данные включают метаданные и код программы на CIL. Служебная информация (метаданные) получила название манифест.