|
Exemple 10-4 extrait du chapitre Le système de types
Exemple 10-3< > Exemple 10-5
Cet exemple peut être compilé avec la ligne de commande: csc.exe /target:exe Exemple_10_4.cs Erreurs: 0 Avertissements: 0 Remarque:
Exemple_10_4.cs
using System.Diagnostics;
class TypeRef { public int state;}
struct TypeVal { public int state;}
public class Program {
public static void Main() {
// Comparaison selon l'identité.
TypeRef ref1 = new TypeRef(); ref1.state = 3;
TypeRef ref2 = new TypeRef(); ref2.state = 3;
Debug.Assert( ref1 != ref2 );
Debug.Assert( ! ref1.Equals(ref2) );
Debug.Assert( ! object.ReferenceEquals(ref1, ref2 ));
ref2 = ref1;
Debug.Assert( ref1 == ref2 );
Debug.Assert( ref1.Equals(ref2) );
Debug.Assert( object.ReferenceEquals(ref1, ref2) );
// Comparaison selon l'équivalence.
TypeVal val1 = new TypeVal(); val1.state = 3;
TypeVal val2 = new TypeVal(); val2.state = 3;
Debug.Assert(val1.Equals(val2));
val1.state = 4;
Debug.Assert(!val1.Equals(val2));
}
}
Copyright Patrick Smacchia 2006 2007
|