What are the data types, value types and reference types in C#?


Datatype are of two types in C# i.e. Value type, reference type, and pointer type.

Value Types

Value type variables can be assigned a value directly. They are derived from the class System.ValueType.

The following are the Value type data types −

TypeRepresentsRangeDefault Value

boolBoolean valueTrue or False
byte8-bit unsigned integer0 to 2550
char16-bit Unicode characterU +0000 to U +fff'\0'
decimal128-bit precise decimal values with 28-29 significant digits(-7.9 x 1028 to 7.9 x 1028) / 100to 280.0M
double64-bit double-precision floating point type(+/-)5.0 x 10-324 to (+/-)1.7 x 103080.0D
float32-bit single-precision floating point type-3.4 x 1038 to + 3.4 x 10380.0F
int32-bit signed integer type-2,147,483,648 to 2,147,483,6470
long64-bit signed integer type-9,223,372,036,854,775,808 to 9,223,372,036,854,775,8070L
sbyte8-bit signed integer type-128 to 1270
short16-bit signed integer type-32,768 to 32,7670
uint32-bit unsigned integer type0 to 4,294,967,2950
ulong64-bit unsigned integer type0 to 18,446,744,073,709,551,6150
ushort16-bit unsigned integer type0 to 65,5350

Reference Types

The reference types do not contain the actual data stored in a variable, but they contain a reference to the variables.

The following are the Reference Types in C# −

Object Type − The Object Type is the ultimate base class for all data types in C# Common Type System (CTS).

Dynamic Type − Store any type of value in the dynamic data type variable. Type checking for these types of variables takes place at run-time.

String Type − The String Type allows you to assign any string values to a variable. The string type is an alias for the System.String class

karthikeya Boyini
karthikeya Boyini

I love programming (: That's all I know

Updated on: 20-Jun-2020

429 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements