Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2-й семестр / Лекции / Тема 2. 2 Введение в C#.ppt
Скачиваний:
115
Добавлен:
12.03.2016
Размер:
1.18 Mб
Скачать

Программирование Тема 2.2 Введение в C#

1

C# и платформа .NET

C# – это язык программирования для платформы .NET (.NET Framework ) (2000, Microsoft, Андерс Хейлсберг)

Другие основные языки программирования платформы . NET:

VB.NET, Managed C++ и JScript .NET.

Платфома .NET:

CLR (Common Language Runtime) - общеязыковая среда выполнения ;

FCL (Framework Class Library) - библиотека классов.

В составе библиотеки базовых классов выделяется:

CTS (Common Type System) – общая система типов

Visual Studio .NET – среда разработки для .NET Framework

2

Структура, компиляция и выполнение C#-программы в .NET

 

 

 

Динамическая

 

 

 

компоновка,

 

Компиляци

 

выполнение

 

 

 

Общеязыко

 

я

 

 

 

 

 

 

 

 

 

вая среда

 

C#

 

Исходный

-компилято

IL-

 

выполнения

код на C#

р

код

 

(CLR)

(наборы

 

 

 

JIT (just in

классов)

 

 

 

time)

*.cs - файл

 

*.exe – файл

 

-компилятор

 

 

 

 

(сборка)

 

 

3

Структура, компиляция и выполнение C#-программы в .NET

Исходный код на С # – это текстовый файл с расширением cs, содержащий в себе одно или несколько описаний классов. Среди классов должен быть класс, содержащий метод main().

Именно с метода main() начинается выполнение программы. Текстовый файл с исходным кодом программы не обязательно должен иметь имя, совпадающее с именем класса, содержащим метод main() (как в Java). Рекомендуется каждый класс программы размещать в отдельном файле с расширеним cs.

Исходный файл на C# компилируются с помощью C# - компилятора в файл с расширением .exe. Файл с расширением exe (сборка) содержит не машинный код, исполняемый непосредственно процессором, он содержат код на языке IL (intermedia language).

Общеязыковой средой выполнения(CLR) сборка преобразуется в машинный код и выполняется.

Кроме компиляции и выполнения программы CLR выполняет и другую работу, например автоматическое управление памятью. Система управления памятью CLR называется Garbage Collector (GC) или сборщиком мусора.

Среда CLR обеспечивает интеграцию языков и позволяет объектам, созданным на одном языке, использовать объекты, написанные на другом. Такая интеграция возможна благодаря стандартному набору типов (Common Type System, CTS) и информации, описывающей тип (метаданным).

4

Библиотека базовых классов .NET Framework

Наиболее часто используемые пространства имен библиотеки классов:

System – корневое пространство имен;

System.Collection – контейнерные классы;

System.Windows – классы для создания графического интерфейса пользователя(GUI);

System.IO – классы для организации файлового ввода - вывода.

Импортирование классов пространств имен в программу:

using System;

using System.Collections;

5

Создание консольной программы в MS Visual C# 2010 Express

Файл -> Создать проект

6

Создание консольной программы в MS Visual C# 2010 Express

Пример программы

7

Создание консольной программы в MS Visual C# 2010 Express

Пример программы

8

Создание консольной программы в MS Visual C# 2010 Express

В главном меню выбрать команду Файл – Создать проект…. После этого откроется диалоговое «Создать проект» (см. слайд 6).

Далее следует выбрать тип создаваемого приложения – Консольное приложение. В строчке Имя следует ввести новое имя приложения ( по умолчанию, ConsoleApplication1) и нажать кнопку OK.

Экран примет вид, изображенный на слайде 7.

Основное пространство экрана занимает окно редактора, в котором располагается текст программы, созданный средой автоматически. В автоматически созданный текст программы добавлены два оператора: Console.WriteLine(“Привет, мир!”); Console.ReadKey();.

В правой части экрана располагается окно управления проектом Обозреватель решений. Замечание. Если вы случайно закроете данное окно, то его можно включить командой Вид – Другие окна – Обозреватель решений.

В этом окне перечислены все ресурсы, входящие в проект:

1)Properties (Свойства), содержит файл AssemblyInfo.cs – информация о сборке.

2)Ссылки на стандартные библиотеки System, System.Data, System.Xml и т.д.

3)Program.cs - исходный текст программы на языке C#.

В левой нижней части экрана располагается окно Список ошибок, которое во время отладки проекта позволит нам получать информацию о локализации и типе ошибок.

Для того чтобы сохранить проект нужно в главном меню выполнить команду Файл – Сохранить все. Откроется диалоговое окно «Сохранить проект» (см. слайд 8).

Имя проекта вы определили на этапе его создания. При необходимости это имя можно изменить. Расположение проекта зависит от установок, которые можно изменить через кнопку Обзор. Сохраним проект на диск E в папку Sharp.

Для того чтобы запустить приложение нужно нажать на кнопку Начать отладку (F5) стандартной панели инструментов VS. В результате программа скомпилируется в IL-код и этот код будет передан CLR на выполнение.

9

Типы данных C#

Типы данных C#:

базовые типы;

типы, определяемые пользователем.

Типы данных C#:

типы - значения;

ссылочные типы.

Типы - значения :

Ссылочные типы:

логический;

- object;

целочисленные;

- строки string;

вещественные;

- классы;

финансовый;

- интерфейсы;

символьный;

- делегаты.

перечисления;

 

структуры.

 

10

Типы данных C#

В С# типы делятся на базовые типы – предлагаемые языком и типы, определяемые пользователем.

Кроме того, типы С# разбиваются на две другие категории: типы - значения (value type) и ссылочные типы (reference type).

Почти все базовые типы являются типами - значениями. Исключение составляют типы Object и String, которые являются базовыми, но ссылочными типами данных. Все пользовательские типы, кроме структур и перечислений, являются ссылочными. Дополнительно к упомянутым типам, язык С# поддерживает типы указателей, однако они используются только с неуправляемым кодом.

Принципиальное различие между типами-значениями и ссылочными типами состоит в способе хранения их значений в памяти. В первом случае фактическое значение хранится в стеке (или как часть большого объекта ссылочного типа). Адрес переменной ссылочного типа тоже хранится в стеке, но сам объект хранится в куче.

Стек – это структура, используемая для хранения элементов по принципу LIFO (Last input – first output или первым пришел - последним ушел). В данном случае под стеком понимается область памяти, обслуживаемая процессором, в которой хранятся значения локальных переменных. Куча – область памяти, используемая для хранения данных, работа с которыми реализуется через указатели и ссылки. Память для размещения таких данных выделяется программистом динамически, а освобождается сборщиком мусора.

Сборщик мусора уничтожает программные элементы в стеке через некоторое время после того, как закончит существование раздел стека, в котором они объявлены. То есть, если в пределах блока (фрагмента кода, помещенного в фигурные скобки {}) объявлена локальная переменная, соответствующий программный элемент будет удален по окончании работы данного блока. Объект в куче подвергается сборке мусора через некоторое время после того, как уничтожена последняя ссылка на него.

Язык С# предлагает обычный набор базовых типов, каждому из них соответствует тип .NET (см. следующие два слайда).

В С# в отличии от Java есть целые беззнаковые типы данных.

11

Типы данных C#

Базовые типы

12

Типы данных C#

Базовые типы

13

Консольный ввод-вывод

Вывод данных: Класс Console из пространства имен System

Cпособы применения метода Console.WriteLine :

1.Console.WriteLine(x);

2.Console.WriteLine("x = " + x +"y = " + y); 3.Console.WriteLine("x={0} y={1}", x, y);

Пример 1: Использование управляющих последовательностей

14