The C# language includes a variety of built-in types that you can use in your C# program. Each has a built-in C# keyword for the type, but maps to a type in the .NET Framework. The C# keyword is just shorthand for the complete type name as it exists in the framework.
Here are all of the C# built-in types that are value types, along with their class name in the .NET Framework.
- bool – System.Boolean – 1 byte (true|false)
- byte - System.Byte – 1 byte (0 to 255)
- sbyte - System.SByte – 1 byte (-128 to 127)
- short - System.Int16 – 2 bytes (-32,768 to 32,767)
- ushort - System.UInt16 – 2 bytes (0 to 65,535)
- int - System.Int32 – 4 bytes (-2,147,483,648 to 2,147,483,647)
- uint - System.UInt32 – 4 bytes (0 to 4,294,967,295)
- long - System.Int64 – 8 bytes (-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807)
- ulong - System.UInt64 – 8 bytes (0 to 18,446,744,073,709,551,615)
- float - System.Single – 4 bytes (±1.5e−45 to ±3.4e38, 7 digit precision)
- double - System.Double – 8 bytes (±5.0e−324 to ±1.7e308, 15-16 digit precision)
- decimal - System.Decimal – 16 bytes (±1.0 × 10−28 to ±7.9 × 1028, 28-29 digit precision)
- char - System.Char – 2 bytes (U+0000 to U+ffff, UTF16 Unicode character)