Types de données en C#
Introduction aux types de données
C# propose plusieurs types de données qui déterminent la taille et le type des valeurs stockées en mémoire. On peut principalement diviser les types de données en deux catégories : les types valeur et les types référence.
Types Valeur
Les types valeur sont des types de données intégrés à C#. Voici une liste des types disponibles avec leur taille en mémoire :
| Type de Donnée | Description | Taille en Mémoire | |----------------|-------------------|-------------------| | bool | Booléen | 1 octet | | byte | Octet | 1 octet | | sbyte | Octet signé | 1 octet | | char | Caractère | 2 octets | | decimal | Décimal | 16 octets | | double | Double | 8 octets | | float | Flottant | 4 octets | | int | Entier | 4 octets | | uint | Entier non signé | 4 octets | | nint | Entier natif | 4 ou 8 octets | | unint | Entier natif non signé | 4 ou 8 octets | | long | Long | 8 octets | | ulong | Long non signé | 8 octets | | short | Court | 2 octets | | ushort | Courant non signé | 2 octets |
Le code suivant montre comment définir une variable pour chaque type de données mentionné :
bool isOpen = true; // état ouvert
byte age = 45; // âge d’une personne
sbyte temperature = 58; // température ambiance
char grade = 'a'; // note obtenue
decimal numberOfAtoms = 1493867940.23m; // nombre d’atomes
double weightOfHippos = 243906.12; // poids des hippopotames
float heightOfGiraffe = 908.32f; // hauteur de la girafe
int seaLevel = -24; // niveau de la mer
uint year = 2023u; // année
nint pagesInBook = 412; // pages d’un livre
unint milesToNewYork = 2597; // distance à New-York
long circumferenceOfEarth = 25000l; // circonférence de la terre
ulong depthOfOcean = 28000ul; // profondeur de l'océan
short tableHeight = 4; // hauteur de la table
ushort treeBranches = 33; // branches de l'arbre
Types Référence
Les types référence, quant à eux, sont des objets qui résident dans un espace mémoire externe. En C#, les types référence incluent :
- object
- string
- dynamic
Ces types permettent de travailler avec des données plus complexes et de gérer des structures variées.