C# Numeric Suffix ExamplesUnderstand the usage of suffixes on literals. See examples of numeric suffix syntax.
A suffix specifies a number's type. They instruct the C# compiler that an integral literal such as 1000 be considered a certain type of number—for example, a long (1000L). We look into how you can add numeric suffixes to numbers.LongNumeric Casts
Numeric suffixes, which are also called literal number suffixes, are hints to the compiler that a literal number is of a certain type. Recall that "literal" means a value hard-coded into your program.
Note: Literal suffixes on constants actually generate conv instructions. This means they work the same as runtime casts.
Letters: The letters L, D, F, U, M and UL are appended to the end of the integral literals in the declarations.
And: An "L" instructors the C# compiler that 10000 is a long type. The MSIL generated is similar to using casts such as (long)10000.IL Disassembler
C# program that uses literal number suffixes
static void Main()
// Use long suffix.
long l1 = 10000L;
// Use double suffix.
double d1 = 123.764D;
// Use float suffix.
float f1 = 100.50F;
// Use unsigned suffix.
uint u1 = 1000U;
// Use decimal suffix.
decimal m2 = 4000.1234M;
// Use unsigned suffix and long suffix.
ulong u2 = 10002000300040005000UL;
Review. We describe the suffixes in more detail. This table indicates the meaning of the letters. We also see examples of the suffixes in the C# programming language. The code statements can be used within programs.
Suffix type: unsigned int
Example: uint x = 100U;
Suffix type: long
Example: long x = 100L;
Suffix type: unsigned long
Example: ulong x = 100UL;
Suffix type: float
Example: float x = 100F;
Suffix type: double
Example: double x = 100D;
Suffix type: decimal
Example: decimal x = 100M;
You can also specify lowercase suffixes, such as u, l, ul, f, d and m. But these are easier to confuse with numbers. The letter "l" is sometimes seen as the number 1.
Warning: The "l" suffix is easily confused with the digit 1—use L for clarity. The screenshot shows this warning in the IDE.
Examples of lowercase suffixes
Lowercase suffix: long x = 10000l; // Is that 100001 or 10000l?
Uppercase suffix: long x = 10000L; // It's 10000L.
Suffixes can be used on literal numbers in C# programs. This is a way to tell the C# compiler that you want the literal number to be treated as a certain type of number, similar conceptually to a cast.
Note: The specification defines how numbers are converted when used as operands, but these suffixes can force certain conversions.
© 2007-2020 Sam Allen. Every person is special and unique. Send bug reports to firstname.lastname@example.org.