Слайд 2Содержание лекции
Обзор .NET
Главные компоненты платформы .NET (CLR, CTS и CLS)
Различия между сборками,
![Содержание лекции Обзор .NET Главные компоненты платформы .NET (CLR, CTS и CLS)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-1.jpg)
пространствами имен и типами
Слайд 3Обзор .NET
Базовые функциональные возможности:
Возможность обеспечения взаимодействия с существующим программным кодом
Поддержка для многочисленных
![Обзор .NET Базовые функциональные возможности: Возможность обеспечения взаимодействия с существующим программным кодом](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-2.jpg)
языков программирования
Общий исполняющий механизм
Полная и тотальная интеграция языков
Обширная библиотека базовых классов
Отсутствие необходимости в предоставлении низкоуровневых деталей COM
Упрощенная модель развертывания
Слайд 4Главные компоненты платформы .NET (CLR, CTS и CLS)
Три ключевые сущности платформы:
CLR –
![Главные компоненты платформы .NET (CLR, CTS и CLS) Три ключевые сущности платформы:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-3.jpg)
Common Language Runtime (общеязыковая исполняющая среда)
CTS – Common Type System (общая система типов)
CLS – Common Language Specification (общеязыковая спецификация)
Слайд 5Главные компоненты платформы .NET (CLR, CTS и CLS)
Роль библиотек базовых классов:
![Главные компоненты платформы .NET (CLR, CTS и CLS) Роль библиотек базовых классов:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-4.jpg)
Слайд 6Главные компоненты платформы .NET (CLR, CTS и CLS)
Что привносит язык С#:
Новый удобный
![Главные компоненты платформы .NET (CLR, CTS и CLS) Что привносит язык С#:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-5.jpg)
синтаксис, похожий на Java и C
Ряд функциональных возможностей: лямбда-выражения, анонимные типы, LINQ
Только управляемый код
Слайд 7Главные компоненты платформы .NET (CLR, CTS и CLS)
Что собой представляют сборки в
![Главные компоненты платформы .NET (CLR, CTS и CLS) Что собой представляют сборки в .NET:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-6.jpg)
.NET:
Слайд 8Главные компоненты платформы .NET (CLR, CTS и CLS)
Что собой представляет общая система
![Главные компоненты платформы .NET (CLR, CTS и CLS) Что собой представляет общая](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-7.jpg)
типов (CTS):
Класс
Интерфейс
Структура
Перечисление
Делегат
Слайд 9Главные компоненты платформы .NET (CLR, CTS и CLS)
Типы классов:
class Calc
{
public
![Главные компоненты платформы .NET (CLR, CTS и CLS) Типы классов: class Calc](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-8.jpg)
int Add(int x, int y)
{
return x + y;
}
}
Слайд 10Главные компоненты платформы .NET (CLR, CTS и CLS)
Типы интерфейсов:
public interface IDraw
{
![Главные компоненты платформы .NET (CLR, CTS и CLS) Типы интерфейсов: public interface](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-9.jpg)
void Draw();
}
Слайд 11Главные компоненты платформы .NET (CLR, CTS и CLS)
Типы структур:
struct Point
{
public int
![Главные компоненты платформы .NET (CLR, CTS и CLS) Типы структур: struct Point](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-10.jpg)
xPos, yPos;
public Point (int x, int у) { xPos = x; yPos = y; }
public void PrintPosition ()
{
Console.WriteLine (" ({0}, {1})", xPos, yPos);
}
}
Слайд 12Главные компоненты платформы .NET (CLR, CTS и CLS)
Типы перечислений:
public enum CharacterType
{
![Главные компоненты платформы .NET (CLR, CTS и CLS) Типы перечислений: public enum](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-11.jpg)
Wizard = 100,
Fighter = 200,
Thief = 300
}
Слайд 13Главные компоненты платформы .NET (CLR, CTS и CLS)
Типы делегатов:
public delegate int BinaryOp(int
![Главные компоненты платформы .NET (CLR, CTS и CLS) Типы делегатов: public delegate](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-12.jpg)
x, int y);
Слайд 14Главные компоненты платформы .NET (CLR, CTS и CLS)
Встроенные типы данных:
![Главные компоненты платформы .NET (CLR, CTS и CLS) Встроенные типы данных:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-13.jpg)
Слайд 15Главные компоненты платформы .NET (CLR, CTS и CLS)
Определение типов данных:
// Определение числовых
![Главные компоненты платформы .NET (CLR, CTS и CLS) Определение типов данных: //](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-14.jpg)
переменных в С#.
int i=0;
System.Int32 j = 0;
// Определение числовых переменных в VB.
Dim 1 As Integer = 0
Dim j As System.Int32 = 0
Слайд 16Главные компоненты платформы .NET (CLR, CTS и CLS)
Что собой представляет общеязыковая спецификация
![Главные компоненты платформы .NET (CLR, CTS и CLS) Что собой представляет общеязыковая](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-15.jpg)
(CLS):
Набор правил, которые во всех подробностях описывают минимальный и полный комплект функциональных возможностей, которые должен обязательно поддерживать каждый отдельно взятый .NET-компилятор для того, чтобы генерировать такой программный код, который мог бы обслуживаться CLR и к которому в то же время могли бы единообразным образом получать доступ все языки, ориентированные на платформу .NET.
Слайд 17Главные компоненты платформы .NET (CLR, CTS и CLS)
Что собой представляет общеязыковая исполняющая
![Главные компоненты платформы .NET (CLR, CTS и CLS) Что собой представляет общеязыковая](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-16.jpg)
среда (CLR):
Коллекция внешних служб, которые требуются для выполнения скомпилированной единицы программного кода.
Слайд 18Различия между сборками, пространствами имен и типами
Пространство имен (namespace) - группа связанных
![Различия между сборками, пространствами имен и типами Пространство имен (namespace) - группа](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-17.jpg)
между собой с семантической точки зрения типов, которые содержатся в сборке
Сборка (assembly) - большой двоичный объект, получаемый при создании файла *.dll или *.ехе с помощью .NET-компилятора
Тип - любого элемента из множества (класс, интерфейс, структура, перечисление, делегат)
Слайд 19Различия между сборками, пространствами имен и типами
«Hello World» на языке C#:
using System;
![Различия между сборками, пространствами имен и типами «Hello World» на языке C#:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-18.jpg)
public class MyApp
{
static void Main()
{
Console.WriteLine ("Hi from C#");
}
}
Слайд 20Различия между сборками, пространствами имен и типами
«Hello World» на языке VB:
Imports System
![Различия между сборками, пространствами имен и типами «Hello World» на языке VB:](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-19.jpg)
Public Module MyApp
Sub Main ()
Console.WriteLine ("Hi from VB")
End Sub
End Module
Слайд 21Различия между сборками, пространствами имен и типами
Получение доступа к пространствам имен программным
![Различия между сборками, пространствами имен и типами Получение доступа к пространствам имен](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-20.jpg)
образом:
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
Слайд 22Различия между сборками, пространствами имен и типами
Получение доступа к типам из пространств
![Различия между сборками, пространствами имен и типами Получение доступа к типам из](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-21.jpg)
имен:
using System;
class Program
{
public void DisplayLogo ()
{
// Используем полностью уточненное имя.
System.Drawing.Bitmap companyLogo =
new System.Drawing.Bitmap(20, 20);
}
}
Слайд 23Литература
Эндрю Троелсен – «Язык программирования C# и платформа .NET» (старое издание есть
![Литература Эндрю Троелсен – «Язык программирования C# и платформа .NET» (старое издание](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/373964/slide-22.jpg)
в библиотеке)
Павел Агуров – «C#. Сборник рецептов»
http://msdn.microsoft.com