Какие примитивные типы знаете?csharp-25

Примитивные типы в C# — это базовые типы данных, встроенные непосредственно в язык и поддерживаемые на уровне CLR (Common Language Runtime). Они являются строительными блоками для более сложных типов данных.

Полный список примитивных типов в C#

1. Целочисленные типы

ТипРазмерДиапазон значенийПример
byte8-bit0 до 255byte b = 100;
sbyte8-bit-128 до 127sbyte sb = -50;
short16-bit-32,768 до 32,767short s = 30000;
ushort16-bit0 до 65,535ushort us = 60000;
int32-bit-2,147,483,648 до 2,147,483,647int i = 2000000;
uint32-bit0 до 4,294,967,295uint ui = 4000000;
long64-bit-9,223,372,036,854,775,808 до 9,223,372,036,854,775,807long l = 9000000000;
ulong64-bit0 до 18,446,744,073,709,551,615ulong ul = 18000000000;

2. Типы с плавающей точкой

ТипРазмерТочностьПример
float32-bit6-9 цифрfloat f = 3.14f;
double64-bit15-17 цифрdouble d = 3.14159;

3. Десятичный тип

ТипРазмерОсобенностиПример
decimal128-bitТочные расчетыdecimal m = 3.14159m;

4. Логический тип

ТипРазмерЗначенияПример
bool8-bittrue или falsebool flag = true;

5. Символьный тип

ТипРазмерОсобенностиПример
char16-bitUnicode символchar c = 'A';

Особенности примитивных типов

  1. Алиасы для System-типов: Каждый примитивный тип C# является алиасом для типа из пространства имен System:

    int i = 42;            // Синтаксис C#
    System.Int32 j = 42;   // Эквивалентный синтаксис .NET
    
  2. Значения по умолчанию:

    int defaultInt;        // 0
    float defaultFloat;    // 0.0f
    bool defaultBool;      // false
    char defaultChar;      // '\0'
    
  3. Литералы:

    int decimalLiteral = 42;
    int hexLiteral = 0x2A;        // 16-ричная система
    long bigNumber = 1_000_000;   // Можно использовать _ для разделения
    double scientific = 1.23e4;   // Научная нотация (12300)
    
  4. Преобразования:

    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#.