Categories: All - интерфейс

by Дмитрий Кузнецов 5 years ago

279

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

В языке программирования C# существует несколько типов данных, которые могут быть использованы для создания приложений с различными функциональными возможностями. Одним из ключевых типов является интерфейс, который определяет контракт в виде набора открытых функций-членов.

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

Текущая тема

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

Типы значений

типы, допускающие значение Null
Расширения других типов значений, допускающие значение
типы перечисления

enum E {...}

является отдельным типом со списком именованных констант. Каждый тип enum имеет базовый тип, в роли которого выступает одним из восьми целочисленных типов. Набор значений типа enum аналогичен набору значений его базового типа

Типы структур

struct S {...}

простые типы
Логическое значение

bool

Десятичный с повышенной точностью

decimal

128 бит, в диапазоне по крайней мере от –7,9 × 10−28 до 7,9 × 1028, с точностью не менее 28 цифр

IEEE-представление с плавающей запятой

double

64 бита, в диапазоне от 5,0 × 10–324 до 1,7 × 10308, с точностью до 15 цифр

float

32 бита, в диапазоне от 1,5 × 10–45 до 3,4 × 1038, с точностью до 7 цифр

Символы Юникода

char

Целочисленный без знака

ulong

64 бит, в диапазоне от 0 до 18 446 744 073 709 551 615

uint

32 бита, в диапазоне от 0 до 4 294 967 295

ushort

16 бит, в диапазоне от 0 до 65 535

byte

8 бит, в диапазоне от 0 до 255

Целочисленный со знаком

long

64 бита, в диапазоне от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807

int

32 бита, в диапазоне от –2 147 483 648 до 2 147 483 647

short

16 бит, в диапазоне от –32 768 до 32 767

sbyte

8 бит, в диапазоне от –128 до 127

содержат непосредственно данные

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

Куча
область динамической памяти, которая выделяется приложению для хранения данных (например объектов). Доступ к данным в куче осуществляется медленнее, чем к стеку. Переменные ссылочных типов хранят ссылки на данные
Стек
структура данных, которая сохраняет элементы по принципу «последним пришёл — первым вышел» . Примером из жизни служит стопка тарелок. Скорость работы со стеком гораздо выше, чем с оперативной памятью, следовательно, использование стека повышает скорость работы программы
типы делегатов

delegate int D(...)

поддерживают универсальные шаблоны, которые позволяют передавать им другие типы в качестве параметров.

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

типы массивов
Одно- и многомерные

int[,]

int[]

типы интерфейсов

interface I {...}

(интерфейс) определяет контракт в виде именованного набора открытых функций-членов. Объект типа class или struct, реализующий interface, должен предоставить реализации для всех функций-членов интерфейса. Тип interface может наследовать от нескольких базовых интерфейсов, а class или struct могут реализовывать несколько интерфейсов

типы классов
Пользовательские типы в формате

class C {...}

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

Строки Юникода

string

Исходный базовым классом для всех типов

object

хранятся ссылки на нужные данные