Le Langage C#

Le Langage C# : Les types (cours 2)

Par Atlasweb.net

En langage C#, on a deux types : les types « valeur » et types « référence ». Il existe un troisième type « pointeur » qui est très peu utilisé. Les types de pointeurs ne peuvent être utilisés qu’en mode non sécurisé.  Les variables qui sont de type valeur stockent des données et celles qui sont de type de référence stockent des références aux données réelles.

C# fournit un ensemble de type prédéfinis: int, byte, char, string…Mais on peut aussi définir nos propres types.

Types valeurs et références

Le type valeur contient des données. Il est principalement représenté par :

  • Primitives : int , float
  • Enumération : enum
  • Structures : struct

Le type référence contient des références vers des objects.

  • Classes : class
  • Interfaces: interfaces
  • Tableau : String []
  • Delegates :delegate
  • Chaînes : string
  • Racine : objet

Boxing et Unboxing

Boxing est le processus de conversion d’un type de valeur en type référence (objet) ou en tout type d’interface implémenté par ce type de valeur.  L’opération inverse, c’est-à-dire convertir un objet en type valeur, s’appelle « unboxing ». Cette opération doit être explicitée, par l’utilisation d’un cast .

Exemple Boxing

int i = 222;

object x = i; //  boxing 

Exemple UnBoxing

x = 1111;

i= (int)x; // unboxing;

Le concept de Boxing et Unboxing est à la base de la vue unifiée C # du système de types dans laquelle une valeur de n’importe quel type peut être traitée en tant qu’objet.

Les types définis par l’utilisateur

On peut définir nos propres types de variables :

  • Énumérations : enum
  • Tableaux (Arrays) : int[][], string[]
  • Interface:  interface
  • Type référence : class
  • Type valeur :  struct
  • Pointeur de fonction : delegate

Les types prédéfinis

.NET offre un certain nombre de types prédéfinis

  • Le type entier
  • Les autres types numériques

Related Videos

Laissez un commentaire

Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considérerons que vous acceptez l'utilisation des cookies. Accepter Lire plus