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

Типы данных
В этой статье, кратко и доступны языком рассказывается основная информация о типах данных в C#, и их перечислением и описанием. Информация носит справочный характер.
Типы данных в C#, можно условно разделить не две группы: типы значений и ссылочные типы. К типам значений относятся большинство встроенных типов C# и типы (в том числе и пользовательские), созданные с применением ключевого слова struct (т.е. так называемые структуры). Типы значений (в чистом виде, а не в составе ссылочных типов) хранятся в стеке. К ссылочным типам, относятся типы, созданные с применением ключевого слова class (классы, пользовательские и стандартные). Ссылочные типы хранятся в «куче».
Ниже представлена таблица встроенных типов данных:
Тип | Биты | Аналог | Описание |
---|---|---|---|
sbyte | 8 | System.SByte | от -128 до 127 |
short | 16 | System.Int16 | от -32768 до 32767 |
int | 32 | System.Int32 | от -2147483648 до 2147483647 |
long | 64 | System.Int64 | от -9223372036854775808 до 9223372036854775807 |
byte | 8 | System.Byte | от 0 до 255 |
ushort | 16 | System.Uint16 | от 0 до 65535 |
uint | 32 | System.Uint32 | от 0 до 4294967295 |
ulong | 64 | System.Uint64 | от 0 до 18446744073709551615 |
char | 16 | System.Char | символ |
bool | 8 | System.Boolean | истина/ложь |
float | 32 | System.Single | от -3.402823e38 до 3.402823e38 |
double | 64 | System.Double | от -1.79769313486232e308 до 1.79769313486232e308 |
decimal | 128 | System.Decimal | от -79228162514264337593543950335 до 79228162514264337593543950335 |
string | - | System.String | строка символов |
Типы значений, используются как некие простые, неизменяемые типы. Это отлично видно, когда типы значений используются в качестве параметров методов. Дело в том что в метод попадает копия значения, и изменить его оригинал уже нельзя (без дополнительных инструментов языка C#). В то время, как при использовании ссылочных типов, в метод попадает копия ссылки, через которую, оригинальный объект (именно объект, а не ссылку, которая на него указывает) можно изменять. Подробнее об этом в статье C#. Передача параметров в методы.
Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.