Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Типы данных. Типы данных имеют особенное значение в С#, поскольку это строго типизированный язык






Типы данных имеют особенное значение в С#, поскольку это строго типизированный язык. Это означает, что все операции подвергаются строгому контролю со стороны компилятора на соответствие типов, причем недопустимые операции не компилируются. Следовательно, строгий контроль типов позволяет исключить ошибки и повысить надежность программ. Для обеспечения контроля типов все переменные, выражения и значения должны принадлежать к определенному типу. Такого понятия, как " бестиповая" переменная, в данном языке программирования вообще не существует. Более того, тип значения определяет те операции, которые разрешается выполнять над ним. Операция, разрешенная для одного типа данных, может оказаться недопустимой для другого.

 

В С# имеются две общие категории встроенных типов данных: значимые типы и ссылочные типы. Они отличаются по содержимому переменной. Концептуально разница между ними состоит в том, что значимый тип (value type) хранит данные непосредственно, в то время как ссылочный тип (reference type) хранит ссылку на значение.

 

Эти типы сохраняются в разных местах памяти: значимые типы сохраняются в области, известной как стек, а ссылочные типы — в области, называемой управляемой кучей.

 

Таблица. Базисные типы языка C#
Логический тип
Имя типа Системный тип Значения Размер
bool System.Boolean true, false 8 бит
Арифметические целочисленные типы
Имя типа Системный тип Диапазон Размер
sbyte System.SByte [-128, 127] Знаковое, 8-бит
byte System.Byte [0, 255] Беззнаковое, 8-бит
short System.Int16 [-32768, 32767] Знаковое, 16-бит
ushort System.UInt16 [0, 65535] Беззнаковое, 16-бит
int System.Int32 [-231, 231-1] Знаковое, 32-бит
uint System.UInt32 [0, 232-1] Беззнаковое, 32-бит
long System.Int64 [-263, 263-1] Знаковое, 64-бит
ulong System.UInt64 [0, 264-1] Беззнаковое, 64-бит
Арифметический тип с плавающей точкой
Имя типа Системный тип Диапазон (по модулю) Точность
float System.Single [10-45, 1038] 7 цифр
double System.Double [10-324, 10308] 15-16 цифр
Арифметический тип с фиксированной точкой
Имя типа Системный тип Диапазон (по модулю) Точность
decimal System.Decimal [10-28, 1028] 28-29 значащих цифр
Символьные типы
Имя типа Системный тип Диапазон Точность
char System.Char [U+0000, U+ffff] 16-бит Unicode символ
string System.String Строка из символов Unicode
Объектный тип
Имя типа Системный тип Примечание
object System.Object Прародитель всех встроенных и пользовательских типов

Всем целочисленным переменным значения могут присваиваться в десятичной или шестнадцатеричной системе обозначений. В последнем случае требуется префикс Ох:

long x = 0x12ab;

Если возникает какая-то неопределенность относительно того, имеет ли целое значение тип int, uint, long или ulong, то по умолчанию принимается int. Чтобы явно специфицировать, какой другой целочисленный тип должно иметь значение, к числу можно добавлять следующие символы:

uint ui = 1234U;

long l = 1234L;

ulong ul = 1234UL;






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.