В C# имеются две общие категории встроенных типов данных: типы значений и ссылочные типы. Они отличаются по содержимому переменной. Если переменная относится к типу значения, то она содержит само значение, например 3,1416 или 212. А если переменная относится к ссылочному типу, то она содержит ссылку на значение. Наиболее распространенным примером использования ссылочного типа является класс, но о классах и ссылочных типах речь пойдет далее в этом курсе. А здесь рассматриваются типы значений.
В основу языка C# положены 13 типов значений, перечисленных в таблице. Все они называются простыми типами, поскольку состоят из единственного значения. (Иными словами, они не состоят из двух или более значений.) Они составляют основу системы типов C#, предоставляя простейшие, низкоуровневые элементы данных, которыми можно оперировать в программе. Простые типы данных иногда еще называют примитивными.
Тип | Значение |
---|---|
bool | Логический, предоставляет два значения: «истина» или «ложь» |
byte | 8-разрядный целочисленный без знака |
char | Символьный |
decimal | Десятичный (для финансовых расчетов) |
double | С плавающей точкой двойной точности |
float | С плавающей точкой одинарной точности |
int | Целочисленный |
long | Длинный целочисленный |
sbyte | 8-разрядный целочисленный со знаком |
short | Короткий целочисленный |
uint | Целочисленный без знака |
ulong | Длинный целочисленный без знака |
ushort | Короткий целочисленный без знака |
В C# строго определены пределы и характер действия каждого типа значения. Исходя из требований к переносимости программ, C# не допускает в этом отношении никаких компромиссов. Например, тип int
должен быть одинаковым во всех средах выполнения. Но в этом случае отпадает необходимость переписывать код для конкретной платформы. И хотя строгое определение размерности типов значений может стать причиной незначительного падения производительности в некоторых средах, эта мера необходима для достижения переносимости программ.
Помимо простых типов, в C# определены еще три категории типов значений: перечисления, структуры и обнуляемые типы. Все они рассматриваются далее в этом курсе.
О значении типов данных | Целочисленные типы |