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#.