Simple types are value types that are a subset of the built-in types in Visual C# .NET, although, in fact, the types are defined as part of the .NET Framework Class Library (.NET FCL). Simple types are made up of several numeric types and a bool type. These numeric types consist of a decimal type (decimal), nine integral types (byte, char, int, long, sbyte, short, uint, ulong, ushort), and two floating-point types (float, double). The table below lists the simple types and their fully qualified names in the .NET Framework.

Fully qualified name Reserved C# keyword Value range
System.Boolean bool true or false
System.Byte byte 0 to 255
System.SByte sbyte -128 to 127
System.Char char 0 to 65535
System.Decimal decimal -79,228,162,514,264,337,593,543,950,335 to 79,228,162,514,264,337,593,543,950,335
System.Double double -1.79769313486232e308 to 1.79769313486232e308
System.Single float -3.402823e38 to 3.402823e38
System.Int16 short -32768 to 32767
System.Uint16 ushort 0 to 65535
System.Int32 int -2,147,483,648 to 2,147,483,647
System.UInt32 uint 0 to 4,294,967,295
System.Int64 long -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
System.UInt64 ulong 0 to 18,446,744,073,709,551,615

The C# reserved words for the various data types are simply aliases for the fully qualified type name. Therefore, it does not matter whether you use the type name or the reserved word: the C# compiler will generate identical code.

It should be noted that the following types are not CLS-compliant: sbyte, ushort, uint, and ulong. These types do not conform to the rules governing CLS types and therefore, they might not be supported by other .NET languages. This lack of support might limit or impede the interaction between your C# code and code written in another CLS-compliant language, such as Visual Basic .NET.

Popularity: 2% [?]