Общие сведения о библиотеке классов .NET Framework

.NET Framework содержит классы, интерфейсы и типы значений, которые облегчают и оптимизируют процесс разработки, а также обеспечивают доступ к функциям системы. Для упрощения взаимодействия между языками большинство типов платформы .NET Framework являются CLS-совместимыми, и поэтому их можно использовать в любом языке программирования, компилятор которого соответствует спецификации CLS.

Типы .NET Framework представляют собой основу для создания элементов управления, компонентов и приложений .NET. .NET Framework содержит типы, предназначенные для следующих задач:

  • представление базовых типов данных и исключений;

  • инкапсуляция структур данных;

  • операции ввода-вывода;

  • доступ к данным о загруженных типах;

  • вызов проверок безопасности .NET Framework;

  • доступ к данным, предоставление графического пользовательского интерфейса на стороне клиента и управляемого сервером графического пользовательского интерфейса на стороне клиента.

.NET Framework предлагает расширенный набор интерфейсов, а также абстрактных и конкретных (неабстрактных) классов. Можно использовать существующие конкретные классы, кроме того, во многих случаях на их основе можно создавать собственные производные классы. Чтобы использовать возможности интерфейса, можно либо создать класс, реализующий интерфейс, либо создать производный класс на основе одного из классов .NET Framework, реализующего интерфейс.

Соглашения об именах

Для типов платформы .NET Framework используется схема именования через точку, описывающая иерархию. При таком подходе связанные типы группируются в пространства имен, что упрощает их поиск и создание ссылок. Первая часть полного имени — до крайней правой точки — это имя пространства имен. Последняя часть имени — это имя типа. Например System.Collections.ArrayList представляет собой тип ArrayList, который принадлежит пространству имен System.Collections. Типы в System.Collections можно использовать для работы с коллекциями объектов.

Такая схема именования упрощает разработчикам библиотек задачу расширения .NET Framework с целью создания иерархических групп типов и присвоения им согласованных между собой и понятных имен. Она также позволяет однозначно идентифицировать типы по их полным именам (то есть по пространству имен и имени типа), что предотвращает конфликты имен типов. Ожидается, что разработчики библиотек при создании имен для пространств имен будут руководствоваться следующим правилом:

CompanyName.TechnologyName

Например, пространство имен Microsoft.Word соответствует этому правилу.

Использование шаблонов именования для группировки связанных типов в пространства имен очень полезно при создании и документировании библиотек классов. Однако такая схема именования не влияет на видимость, доступ к членам, наследование, безопасность и привязки. Пространство имен может быть разделено между несколькими сборками, и одна сборка может содержать типы из нескольких пространств имен. Сборка представляет собой формальную структуру для управления версиями, развертывания, обеспечения безопасности, загрузки и обеспечения видимости в среде CLR.

Дополнительные сведения о пространствах имен и именах типов см. в разделе Система общих типов CTS.

Пространство имен System

Пространство имен System является корневым пространством имен для основных типов в .NET Framework. Это пространство имен включает классы, представляющие собой базовые типы данных, используемые всеми приложениями: Object (корень иерархии наследования), Byte, Char, Array, Int32, String и т. д. Многие из этих типов соответствуют простым типам данных, которые используются в языке программирования. При написании кода с применением типов .NET Framework можно использовать соответствующее ключевое слово языка для базового типа данных .NET Framework.

В следующей таблице перечислены базовые типы, предоставляемые в .NET Framework, кратко описывается каждый тип и указывается соответствующий тип в Visual Basic, C#, C++ и JScript.

Категория

Имя класса

Описание

Тип данных в Visual Basic

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

Тип данных в C++

Тип данных в JScript

Целое число

Byte

8-разрядное целое число без знака.

Byte

byte

unsigned char

Byte

   

SByte

8-битовое целое число со знаком.

Не является CLS-совместимым.

SByte

sbyte

char

– или –

signed char

SByte

   

Int16

16-разрядное знаковое целое число.

Short

short

short

short

   

Int32

32-разрядное знаковое целое число.

Целое число

int

int

– или –

long

int

   

Int64

64-разрядное целое число со знаком.

Long

long

__int64

long

   

UInt16

16-разрядное целое число без знака.

Не является CLS-совместимым.

UShort

ushort

unsigned short

UInt16

   

UInt32

32-разрядное целое число без знака.

Не является CLS-совместимым.

UInteger

uint

unsigned int

– или –

unsigned long

UInt32

   

UInt64

64-разрядное целое число без знака.

Не является CLS-совместимым.

ULong

ulong

unsigned __int64

UInt64

С плавающей запятой

Single

Число с плавающей запятой с обычной точностью (32-разрядное).

Single

float

float

float

   

Double

Число с плавающей запятой с двойной точностью (64-разрядное).

Double

double

double

double

Logical

Boolean

Логическое значение (true или false).

Boolean

bool

bool

bool

Другой

Char

Символ Юникода (16-разрядный).

Char

char

wchar_t

char

   

Decimal

128-разрядное десятичное значение.

Десятичное число

decimal

Десятичное число

Decimal

   

IntPtr

Целое число со знаком, размер которого зависит от базовой платформы (32-разрядное значение при 32-разрядной платформе и 64-разрядное значение при 64-разрядной платформе).

IntPtr;

Не является встроенным типом.

IntPtr;

Не является встроенным типом.

IntPtr;

Не является встроенным типом.

IntPtr;

   

UIntPtr

Целое число без знака, размер которого зависит от базовой платформы (32-разрядное значение при 32-разрядной платформе и 64-разрядное значение при 64-разрядной платформе).

Не является CLS-совместимым.

UIntPtr

Не является встроенным типом.

UIntPtr

Не является встроенным типом.

UIntPtr

Не является встроенным типом.

UIntPtr

Объекты классов

Object

Корень иерархии объектов.

Объект

object

Object*

Объект

   

String

Неизменяемая строка символов Юникода фиксированной длины.

String

string

String*

String

В дополнение к базовым типам данных пространство имен System содержит более 100 классов — от классов для обработки исключений до классов, которые работают с основными механизмами среды выполнения, такими как домены приложений и сборщик мусора. Пространство имен System также содержит много пространств имен второго уровня.

Дополнительные сведения о пространствах имен см. в разделе Библиотека классов платформы .NET Framework. В справочной документации представлен краткий обзор каждого пространства имен, а также дано формальное описание каждого типа и его членов.

См. также

Основные понятия

Система общих типов CTS

Другие ресурсы

Библиотека классов платформы .NET Framework

Общие сведения о платформе .NET Framework