Примитивные типы в C# — это базовые типы данных, встроенные непосредственно в язык и поддерживаемые на уровне CLR (Common Language Runtime). Они являются строительными блоками для более сложных типов данных.
Тип | Размер | Диапазон значений | Пример |
---|---|---|---|
byte | 8-bit | 0 до 255 | byte b = 100; |
sbyte | 8-bit | -128 до 127 | sbyte sb = -50; |
short | 16-bit | -32,768 до 32,767 | short s = 30000; |
ushort | 16-bit | 0 до 65,535 | ushort us = 60000; |
int | 32-bit | -2,147,483,648 до 2,147,483,647 | int i = 2000000; |
uint | 32-bit | 0 до 4,294,967,295 | uint ui = 4000000; |
long | 64-bit | -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807 | long l = 9000000000; |
ulong | 64-bit | 0 до 18,446,744,073,709,551,615 | ulong ul = 18000000000; |
Тип | Размер | Точность | Пример |
---|---|---|---|
float | 32-bit | 6-9 цифр | float f = 3.14f; |
double | 64-bit | 15-17 цифр | double d = 3.14159; |
Тип | Размер | Особенности | Пример |
---|---|---|---|
decimal | 128-bit | Точные расчеты | decimal m = 3.14159m; |
Тип | Размер | Значения | Пример |
---|---|---|---|
bool | 8-bit | true или false | bool flag = true; |
Тип | Размер | Особенности | Пример |
---|---|---|---|
char | 16-bit | Unicode символ | char c = 'A'; |
Алиасы для System-типов: Каждый примитивный тип C# является алиасом для типа из пространства имен System:
int i = 42; // Синтаксис C#
System.Int32 j = 42; // Эквивалентный синтаксис .NET
Значения по умолчанию:
int defaultInt; // 0
float defaultFloat; // 0.0f
bool defaultBool; // false
char defaultChar; // '\0'
Литералы:
int decimalLiteral = 42;
int hexLiteral = 0x2A; // 16-ричная система
long bigNumber = 1_000_000; // Можно использовать _ для разделения
double scientific = 1.23e4; // Научная нотация (12300)
Преобразования:
int i = 100;
long l = i; // Неявное преобразование
i = (int)l; // Явное преобразование (cast)
Все примитивные типы имеют полезные статические свойства и методы:
int.MaxValue; // Максимальное значение типа
int.MinValue; // Минимальное значение типа
double.PositiveInfinity; // Положительная бесконечность
double.NaN; // Not a Number
char.IsDigit('5'); // Проверка, является ли символ цифрой
int.Parse("123"); // Преобразование строки в число
Примитивные типы в C# — это фундаментальные строительные блоки языка, оптимизированные для производительности. Они включают целочисленные типы разных размеров, типы с плавающей точкой, десятичный тип для точных расчетов, логический и символьный типы. Понимание их особенностей, диапазонов значений и правил преобразования критически важно для написания эффективного и надежного кода на C#.