В C# литералы могут быть любого простого типа. Представление каждого литерала зависит от конкретного типа. Как пояснялось ранее, символьные литералы заключаются в одинарные кавычки. Например, 1 а1 и 1 % 1 являются символьными литералами.
Целочисленные литералы указываются в виде чисел без дробной части. Например, 10 и -100 — это целочисленные литералы. Для обозначения литералов с плавающей точкой требуется указывать десятичную точку и дробную часть числа. Например,
11.123 — это литерал с плавающей точкой. Для вещественных чисел с плавающей точкой в C# допускается также использовать экспоненциальное представление.
У литералов должен быть также конкретный тип, поскольку C# является строго типизированным языком. В этой связи возникает естественный вопрос: к какому типу следует отнести числовой литерал, например 2, 123987 или 0 . 23? К счастью, для ответа на этот вопрос в C# установлен ряд простых для соблюдения правил.
Во-первых, у целочисленных литералов должен быть самый мелкий целочисленный тип, которым они могут быть представлены, начиная с типаint.Таким образом, у целочисленных литералов может быть один из следующих типов:int, uint, longилиulongв зависимости от значения литерала. И во-вторых, литералы с плавающей точкой относятся к типуdouble.
Если вас не устраивает используемый по умолчанию тип литерала, вы можете ярно указать другой его тип с помощью суффикса. Так, для указания типаlongк литералу присоединяется суффикс1илиL.Например,12— это литерал типаint, al2L— литерал типаlong.Для указания целочисленного типа без знака к литералу присоединяется суффиксиилиU.Следовательно,100— это литерал типаint, a 100U— литерал типаuint.А для указания длинного целочисленного типа без знака к литералу присоединяется суффиксulилиUL.Например,984375UL— это литерал типаulong.
Кроме того, для указания типаfloatк литералу присоединяется суффиксFилиf. Например,10 .19F— это литерал типаfloat.Можете даже указать типdouble,присоединив к литералу суффиксdилиD,хотя это излишне. Ведь, как упоминалось выше, по умолчанию литералы с плавающей точкой относятся к типуdouble.
И наконец, для указания типаdecimalк литералу присоединяется суффиксmилиМ.Например,9 . 95М— это десятичный литерал типаdecimal.
Несмотря на то что целочисленные литералы образуют по умолчанию значения типаint, uint, longилиulong,их можно присваивать переменным типаbyte, sbyte, shortилиushort,при условии, что присваиваемое значение может быть представлено целевым типом.
Шестнадцатеричные литералы