In this lesson, you will learn about Data Types in C# and their usage, along with examples to better understand the topic.
In C#, you must indicate the type when declaring a variable since it’s a strongly typed programming language.
Example
String studentName;
C# data types can be divided into three categories:
The value data types can be assigned a value directly, such as an integer.
The following tables represent the most used value types in C#
Type Name | Size (In Byte) | Range |
---|---|---|
Bool | 1 | True/False |
Byte | 1 | 0 to 255 |
Char | 1 | U +0000 to U +ffff |
Short | 2 | -32,768 to 32,767 |
signed short | 2 | -32,768 to 32,767 |
unsigned short | 2 | 0 to 65,535 |
int | 4 | -2,147,483,648 to 2,147,483,647 |
signed int | 4 | -2,147,483,648 to 2,147,483,647 |
unsigned int | 4 | 0 to 4,294,967,295 |
long | 8 | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
signed long | 8 | -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
unsigned long | 8 | 0 to 18,446,744,073,709,551,615 |
float | 4 | -3.4 x 1038 to + 3.4 x 1038 |
double | 8 | (+/-)5.0 x 10-324 to (+/-)1.7 x 10308 |
decimal | 16 | (-7.9 x 1028 to 7.9 x 1028) / 100 to 28 |
As its name indicates, a reference data type contains a reference to a memory location, not the data stored in the variable.
There are three reference data types in C#: Object, Array, and String Types.
In the .NET framework, every type is derived from an object. You can convert an object type to a value data type and vice versa by boxing and unboxing. Boxing is when a value type is converted to an object type, while unboxing is when an object type is converted to a value type.
Example
Arrays are another reference type in C#. they are an indexed collection of data of the same type.
Example
string[] students; int[] grades;
We will discuss Arrays in detail later in this course.
String type is another Reference Type in C#. It represents a sequence of Unicode characters that you can use to store string data, such as names, countries, months, etc.
In C#, a pointer datatype store the address in the memory or another datatype.
The syntax of a pointer is:
datatype* identifier;
Example of pointers in C#
using System; namespace PointerDemo { class Example { public static unsafe void PointerTest() { int number = 10; int * pointer = & number; Console.WriteLine("The value is: " + number); Console.WriteLine("The address of the value is: " + (int) ptr); } public static void Main() { PointerTest(); } } }
We will discuss pointers in detail and their usage later in this course.
This concludes the C# Data Types lesson. In the next lesson, you will learn Type Casting in C#.