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