Демистификация числовых суффиксов в C#: руководство по числовой записи

Вы когда-нибудь встречали в коде C# числа, к которым прикреплены странные буквы, например «L», «F» или «D»? Эти, казалось бы, случайные символы на самом деле являются числовыми суффиксами и играют решающую роль в определении типа числового литерала. В этой статье блога мы погрузимся в мир числовых суффиксов в C#, раскроем их значения и рассмотрим различные примеры, которые помогут вам понять, как они работают. Итак, начнём!

  1. Целочисленные суффиксы.
    В C# суффиксы можно использовать для указания типа целочисленного литерала. Вот некоторые часто используемые целочисленные суффиксы:
    • “U” или “u” для целых чисел без знака (uint, ulong, ushort)
    • “L” или “l” для длинных целых чисел (длинных).
    • “UL” или “ul” для длинных целых чисел без знака (ulong)
    • “LL” или “ll” для длинных целых чисел (длинных)

Пример:

int myInt = 42;
uint myUnsignedInt = 42U;
long myLong = 42L;
ulong myUnsignedLong = 42UL;
long myLongLong = 42LL;
  1. Суффиксы с плавающей запятой.
    При работе с числами с плавающей запятой вы можете использовать суффиксы для определения их типа. Вот наиболее распространенные суффиксы с плавающей запятой:
    • “F” или “f” для чисел с плавающей запятой одинарной точности (float)
    • “D” или “d” для чисел двойной точности с плавающей запятой (double)
    • “M” или “m” для десятичных чисел (десятичные)

Пример:

float myFloat = 3.14F;
double myDouble = 3.14D;
decimal myDecimal = 3.14M;
  1. Двоичные и шестнадцатеричные обозначения.
    Помимо суффиксов, C# также предлагает двоичные и шестнадцатеричные обозначения для числовых литералов. Чтобы указать двоичное число, используйте префикс «0b» или «0B», за которым следует последовательность 0 и 1. Для шестнадцатеричных чисел используйте префикс «0x» или «0X», за которым следуют цифры 0–9 и буквы A–F (регистронезависимо).

Пример:

int binaryNumber = 0b1010; // Binary representation of 10
int hexNumber = 0x1F; // Hexadecimal representation of 31
  1. Без суффикса.
    Если вы не укажете суффикс, компилятор определит тип на основе контекста. По умолчанию целочисленные литералы считаются типа int, а литералы с плавающей запятой — типа double.

Пример:

int myNumber = 42;
double pi = 3.14;

В этой записи блога мы исследовали мир числовых суффиксов в C# и узнали, как их можно использовать для указания типа числовых литералов. Используя соответствующие суффиксы, вы можете гарантировать, что ваш код будет ясным, кратким и свободным от неожиданных преобразований типов. Итак, в следующий раз, когда вы встретите в коде C# числа с прикрепленными к ним буквами, вы точно поймете, что они означают!

Не забудьте использовать соответствующие суффиксы, чтобы избежать путаницы и обеспечить правильную интерпретацию числовых литералов в C#. Приятного кодирования!