Bonjour,
Sur des cours trouvé sur votre site, il est expliqué comment redéfinir des opérateur pour une classe.
J'ai essayé le code mais le résultat obtenu n'est pas celui attendu.
Voici ma classe ListeDePersonne qui est sensé redéfinir l'opérateur pour pouvoir concaténé une personne en plus dans la liste.
En plus de celle-ci, je définie une classe personne qui me créé une personne (Prénom, Nom,age).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 public static ListeDePersonne operator +( ListeDePersonne l,personne p) { l.Add(p); return l; } public static void Main() { ListeDePersonne l=new ListeDePersonne(); l = l + new personne("michel", "DUPONT", 29) + new personne("david", "PIGNON", 32); Console.Out.WriteLine("liste =" + l ); } public override string ToString() { String liste = "("; int i; for (i = 0; (i < Count - 1); i++) { liste += "[" + base[i].ToString() + "]" + ","; } if (Count != 0) liste += "[" + base[i].ToString() + "]"; liste += ")"; return liste; }
Résulat attendu :
liste = [Michel dupont 29],[David pignon 32]
Résultat obtenu :
liste = [personne],[personne]
Quelqu'un peut-il me dire pourquoi
MERCI
Partager