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.