1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
class Personne : IComparable
{
public int Age;
public string Nom;
public Personne(){Age = -1;Nom = "";}
public Personne(int age, string nom){Age = age;Nom = nom;}
public int CompareTo(object o)
{
if (o == null)
return 1;
Personne personne = o as Personne;
if (personne != null)
{
if (Age > personne.Age)
{
return 1;
}
else
{
return 0;
}
}
else
{
return 0;
}
}
public override bool Equals(object o)
{
Personne pe = (Personne)o;
return (Age == pe.Age && Nom == pe.Nom);
}
public static bool operator==(Personne p1, Personne p2){
return p1.Equals(p2);
}
public static bool operator!=(Personne p1, Personne p2)
{
return !p1.Equals(p2);
}
public override int GetHashCode()
{
return this.ToString().GetHashCode();
}
} |