Home
Browsez les 647 exemples
Téléchargez les 647 exemples
Téléchargez des chapitres
Achetez sur amazon.fr

Niveau: Débutant/Intermédiaire
ISBN-2-84177-339-6
50 Euros

Exemple 10-1 extrait du chapitre Le système de types


Exemple 9-25<     > Exemple 10-2


Cet exemple peut être compilé avec la ligne de commande:
csc.exe /target:exe Exemple_10_1.cs
Erreurs: 0 Avertissements: 0
Remarque:


Exemple_10_1.cs
// TypeVal est un type valeur, car c'est une structure.
struct TypeVal {
   public int m_i;
   public TypeValint i ) { m_i = i; }
}
// TypeRef est un type référence, car c'est une classe.
class TypeRef {
   public int m_i;
   public TypeRefint i ) { m_i = i; }
}
class Program {
   static void Main() {
      TypeVal v1 = new TypeVal(6);
      TypeVal v2 = v1; // Une nouvelle instance du type TypeVal est 
      // créée et le champ v2.i est aussi égal à 6.
      // Néanmoins v1 et v2 sont deux instances différentes
      // de type TypeVal.
      v2.m_i = 9;
      // Ici v1.i vaut 6, il y a bien deux instances du type TypeVal.
      System.Diagnostics.Debug.Assert( v1.m_i == && v2.m_i == );

      TypeRef r1 = new TypeRef(6);
      TypeRef r2 = r1; // Il n'y a pas de nouvelle instance de la 
      // classe TypeRef. r2 et r1 sont deux références de la      
      // même instance de la classe TypeRef.
      r2.m_i = 9;
      // Ici r1.i vaut 9, il n'y a qu'une seule instance de la 
      // classe TypeRef.
      System.Diagnostics.Debug.Assert( r1.m_i == && r2.m_i == );
   }
}	
Copyright Patrick Smacchia 2006 2007