Data Types
The variables in C#, are categorized into the following types: (i) value types, (ii) reference types, and (iii) pointer types.
Value Types
Value type variables can be assigned a value directly.
They are derived from the class System.ValueType.
Some examples are int, char, and float, which stores numbers, alphabets, and floating point numbers, respectively.
When you declare an int type, the system allocates memory to store the value.
The following table lists the available value types in C#:
| Type |
Represents |
Range |
Default Value |
| bool |
Boolean value |
True or False |
False |
| byte |
8-bit unsigned integer |
0 to 255 |
0 |
| char |
16-bit Unicode character |
U +0000 to U +ffff |
'\0' |
| decimal |
128-bit precise decimal values with 28-29 significant digits |
(-7.9 x 1028 to 7.9 x 1028)
/ 100 to 28
|
0.0M |
| double |
64-bit double-precision floating point type |
(+/-)5.0 x 10-324 to (+/-)1.7 x 10308 |
0.0D |
| float |
32-bit single-precision floating point type |
-3.4 x 1038 to + 3.4 x 1038 |
0.0F |
| int |
32-bit signed integer type |
-2,147,483,648 to 2,147,483,647 |
0 |
| long |
64-bit signed integer type |
-9,223,372,036,854,775,808 to
9,223,372,036,854,775,807
|
0L |
| sbyte |
8-bit signed integer type |
-128 to 127 |
0 |
| short |
16-bit signed integer type |
-32,768 to 32,767 |
0 |
| uint |
32-bit unsigned integer type |
0 to 4,294,967,295 |
0 |
| ulong |
64-bit unsigned integer type |
0 to 18,446,744,073,709,551,615 |
0 |
| ushort |
16-bit unsigned integer type |
0 to 65,535 |
0 |
Reference Types
The reference types do not contain the actual data stored in a variable, but they contain a reference (a memory location) to the variables.
Examples of built-in reference types are:
object,
dynamic, and
string.