Programmation en C# – Les types de données

Les variables en C# sont classées dans les types suivants:

  • Types valeur
  • Types référence
  • Types pointeurs
 

Type valeur

Les types valeur contiennent directement des données. Par exemple int, char et float, qui stockent des nombres, des caractères et des nombres à virgule flottante. Lorsque vous déclarez un type int, le système alloue de la mémoire pour stocker la valeur entier.

Le tableau suivant répertorie les types de valeur disponibles dans C #:

Type Représente Range Valeur par défaut
bool Valeur boolean True or False False
byte Entier non signé 8-bit 0 to 255 0
char Caractère Unicode 16-bit U +0000 to U +ffff  »
decimal Valeurs décimales précises de 128 bits avec 28 à 29 chiffres significatifs (-7.9 x 1028 to 7.9 x 1028) / 100 to 28 0.0M
double Type à virgule flottante à double précision de 64 bits (+/-)5.0 x 10-324 to (+/-)1.7 x 10308 0.0D
float Type à virgule flottante à une seule précision de 32 bits -3.4 x 1038 to + 3.4 x 1038 0.0F
int Type entier signé 32-bit -2,147,483,648 to 2,147,483,647 0
long Type entier signé 64-bit -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 0L
sbyte Type entier signé 8-bit -128 to 127 0
short Type entier signé 16-bit -32,768 to 32,767 0
uint Type entier non signé 32-bit 0 to 4,294,967,295 0
ulong Type entier non signé 64-bit 0 to 18,446,744,073,709,551,615 0
ushort Type entier non signé 16-bit 0 to 65,535 0

Pour obtenir la taille exacte d’un type ou d’une variable sur un langage particulière, vous pouvez utiliser la méthode sizeof. L’expression sizeof(type) donne la taille de stockage de l’objet ou le type d’octets. Voici un exemple pour obtenir la taille du type int sur n’importe quelle machine:

using System;
namespace TypeDonnee
{
   class Program 
   {
      static void Main(string[] args)
      {
         Console.WriteLine("Taille de int: {0}", sizeof(int));
         Console.ReadLine();
      }
   }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant:

Taille de int: 4

 
 

Type référence

Les types références ne contiennent pas les données réelles stockées dans une variable, mais elles contiennent une référence aux variables.

En d’autres termes, ils se réfèrent à un emplacement mémoire. En utilisant plusieurs variables, les types de référence peuvent se référer à un emplacement de mémoire. Si les données dans l’emplacement de la mémoire sont modifiées par l’une des variables, l’autre variable reflète automatiquement cette variation de valeur. L’exemple de type référence intégrés est: object, dynamic, et string.
 

Type ‘Object’

Le type Object est la classe de base ultime pour tous les types de données dans CTS Common Type System (CTS). Object est un alias pour la classe System.Object. Les types Object peuvent être attribués à des valeurs de tous les autres types, valeurs, référence, types prédéfinis ou définis par l’utilisateur. Pourtant, avant d’attribuer des valeurs, il faut une conversion de type.

Lorsqu’une valeur est converti en un objet, il s’appelle boxing et, lorsqu’un objet est converti en un type de valeur, il s’appelle unboxing.

object obj;
obj =200; //boxing

 

Type ‘Dynamic’

Vous pouvez stocker n’importe quelle valeur dans une variable de type Dynamic. La vérification de ces types de variables a lieu au moment de l’exécution.

La syntaxe pour déclarer un type dynamique est:

dynamic <nom_de_la_variable> = valeur;

Par exemple :

dynamic d = 20;

Les types Dynamic sont similaires aux types Object, sauf que la vérification de type pour les variables de type Object a lieu au moment de la compilation, alors que pour les variables de type Dynamic se produit au moment de l’exécution.
 
 

Type String

Le type string vous permet d’attribuer des valeurs string à une variable. Le type string est un alias pour la classe System.String. Il est dérivé du type object. La valeur pour un type string peut être attribuée à l’aide du caractère @.

Par exemple,

String str = "WayToLearnX";

Avec le littéral de string @quoted se lit comme suit:

@"WayToLearnX";

Les types de référence définis par l’utilisateur sont: classe et interface.
 

Type de pointeur

Les variables de type pointeur stockent l’adresse mémoire d’un autre type. Les pointeurs en C # ont les mêmes capacités que les pointeurs en C ou C ++.

La syntaxe pour déclarer un pointeur est:

type* identifier;

Par exemple :

char* cp;
int* ip;

Nous aborderons les types de pointeurs dans les chapitres suivants.
 
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *