Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
тюмгу / Лекции КБ ИБАС 1 курс 2 семестр / лекция4 Безопасность 2018.pptx
Скачиваний:
19
Добавлен:
08.12.2019
Размер:
291.51 Кб
Скачать

Платформа .NET включает в себя собственную среду исполнения CLR (англ. Common Language Runtime

общеязыковая среда исполнения).

Наиболее полно в эту среду интегрирован C#.

СLR основана не на ассемблере, а на промежуточном коде (IL Code).

Для CLR языков программирования может быть несколько (С++, C#, VB, …).

13

CLR обеспечивает соблюдение стандартов, для всех ЯП платформы .NET

Поэтому решена проблема интеграции приложений, написанных на разных ЯП.

CLR определяет стандартные для все языков

.NET типы данных.

Это гарантирует, что, например, целый тип в C# будет в точности соответствовать одноименному типу в VB и т.п.

NET Runtime обеспечивает

сборку мусора,

контроль типов,

исключает выход за пределы массива и др.

14

Обзор С#

Программа, написанная на двух различных ЯП: namespace HW;

using System;

class HW

{

static void Main(String[ ] args)

{

Console.WriteLine("Hello World!");

}

}

package HW;

import java.lang.*

class HW

{

public static void main(String[ ] args)

{

System.out.println("Hello World!")

}

}

15

Первый пример написан на C#, второй - на ЯП Java.

Разработкой C# (2000 г) руководил А. Хейлсберг (Anders Hejlsberg, создатель многих версий Turbo Pascal и Delphi.

C# создавался в качестве альтернативы ЯП Java (Java-киллер).

16

 

ЯП C# - лицензионно чистая альтернатива ЯП Java.

 

При его создании был учтен опыт разработки

 

 

С (высокая производительность),

 

 

С++ (объектно-ориентированная структура),

 

 

Java (безопасность),

 

 

Visual Basic (быстрота разработки).

 

Основа - C++

 

с дополнениями, характерными для ЯП Java.

 

Например, система автоматического управления

 

памятью, обеспечивающая

 

 

системное выделение памяти для различных

 

 

классов и

 

 

ее освобождение после прекращения

 

 

использования классов.

 

Из Паскаля взяты

 

 

четкая типизация переменных: при описании

 

 

переменной необходимо указать ее тип,

 

 

автоматическая инициализация переменных.

17

Для написания C#-программ требуется,

как минимум,

 

любой текстовый редактор и

 

.NET Framework (включает в себя

 

общеязыковую среду выполнения, в

 

которой выполняется программа).

 

Если на компьютере отсутствует общеязыковая

 

исполняющая среда CLR, то .NET-программы

 

выполняться не будут.

 

.NET Framework содержит

 

библиотеку классов, на базе которых

 

строится любая .NET-программа.

Можно писать C#-программы в среде разработки Visual Studio .NET, которая включает в себя .NET Framework.

18

Результатом компиляции C#-кода является так называемая .NET-сборка (или просто сборка).

Сборка один или несколько файлов, которые объединены логической связью.

В большинстве случаев C#-программа — сборка, состоящая из

одного файла как обычный исполняемый файл.

.NET-сборку можно получить при компиляции другим .NET-компилятором, например, с VisualBasic.NET или C++ (для управляемых приложений).

19

Первая программа

Классический пример консольной программы, выводящий строку “Hello, World!”.

Для того, чтобы программа обеспечивала требуемый результат, можно просто воспользоваться шаблоном Console Application (для C#):

20

21

Комментарии

Среда выполнения имеет единое пространство имен (namespace) для всего кода программы.

Объявление using System позволяет ссылаться на классы, которые находятся в пространстве имен System, не добавляя System. перед именем типа.

При использовании шаблона оно добавляется автоматически в любой проект на C#.

22