Типы данных имеют в С# особое значение, поскольку С# — строго типизированный язык. Это значит, что все операции проверяются компилятором на соответствие типов. Некорректные операции не компилируются. Таким образом, контроль типов способствует предотвращению ошибок и повышает надежность программ. Для обеспечения контроля типов необходимо, чтобы все переменные, выражения и значения имели определенный тип. Например, в языке не допускается, чтобы переменная не
имела типа. Более того, тип значения определяет, какие операции разрешено выполнять с таким значением. Операция, разрешенная для одного типа, может быть недопустимой для другого.
С# содержит две категории встроенных типов данных: типы значений и ссылочные типы. Ядро языка С# составляют 13 типов. Это — встроенные типы, которые определяются ключевыми словами С# и доступны для использования в любой сопрограмме. (о ссылочных типах поговорим в другой раз).
Термин "тип значения" применяется к переменным, которые непосредственно содержат значения. (Для сравнения: переменные ссылочных типов содержат ссылки на реальные значения.) Таким образом, типы значений в С# во многом подобны типам данных, определенным в других языках программирования (например, C++). Типы значений также называют простыми типами.
Типы значений в C#.
Тип |
Область значений |
Размер |
Пояснение |
bool |
true или false |
1 байт |
Логический, или булев, представляет значения ИСТИНА/ЛОЖЬ |
byte |
0 - 255 |
1 байт |
8-разрядный целочисленный без знака |
char |
от U+0000 до U+ffff |
2 байта |
16-разрядный символ Юникода |
decimal |
от ±1,0 × 10−28 до ±7,9 × 1028 |
16 байт |
Числовой тип для финансовых вычислений |
double |
от ±5,0 × 10−324 до ±1,7 × 10308
|
8 байт |
С плавающей точкой двойной точности |
float |
от ±1,5 × 10−45 до ±3,4 × 1038
|
4 байта |
С плавающей точкой |
int |
от -2 147 483 648 до 2 147 483 647
|
4 байта |
32-разрядное целое число со знаком |
long |
от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807
|
8 байт |
64-разрядное целое число со знаком
|
sbyte |
от -128 до 127 |
1 байт |
8-разрядное целое число со знаком
|
short |
от -32 768 до 32 767
|
2 байта |
16-разрядное целое число со знаком
|
uint |
от 0 до 4 294 967 295
|
4 байта |
32-разрядное целое число без знака
|
ulong |
от 0 до 18 446 744 073 709 551 615
|
8 байт |
64-разрядное целое число без знака
|
ushort |
от 0 до 65 535
|
2 байта |
16-разрядное целое число без знака
|