1. Home
  2. Docs
  3. C# Programming
  4. Basics
  5. Data types

Data types


Data types actually defines what type of the data can be stored in a variable.

Data Types


Usually the data types can be categorized into 3 groups

  • Value Data Types
  • Pointer Data Types
  • Reference Data Types

Value Data Types

The value data types are integer-based and floating-point based. C# language supports both signed and unsigned literals. There are 2 types of value data type in C# language.

  • Predefined Data Types – such as Integer, Boolean, Float, etc.
  • User defined Data Types – such as Structure, Enumerations, etc.

The memory size of data types may change according to 32 or 64 bit operating system. Let’s see the value data types. It size is given according to 32 bit OS.

Data TypesMemory SizeRange
bool1 bit1 or 0
char / signed char1 byte-128 to 127
unsigned char1 byte0 to 127
short / signed short2 byte-32,768 to 32,767
unsigned short2 byte0 to 65,535
int / signed int4 byte-2,147,483,648 to -2,147,483,647
unsigned int4 byte0 to 4,294,967,295
long /signed long8 byte-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
unsigned long8 byte0 – 18,446,744,073,709,551,615
float4 byte1.5 * 10-45 – 3.4 * 1038, 7-digit precision
double8 byte5.0 * 10-324 – 1.7 * 10308, 15-digit precision
decimal16 byteat least -7.9 * 1028 – 7.9 * 1028, with at least 28-digit precision

Pointer Data Types

The pointer in C# language is a variable, it is also known as locator or indicator that points to an address of a value.

References Data Types

The reference data types do not contain the actual data stored in a variable, but they contain a reference to the variables. If the data is changed by one of the variables, the other variable automatically reflects this change in value.
There are 2 types of reference data type in C# language.

  • Predefined Types – such as Objects, String.
  • User defined Types – such as Classes, Interface.
Was this article helpful to you? Yes No

How can we help?