62Close64
deleted2On the 2016-05-23 at 09:10pm
[23/05/2016 21:05:32] <Folco> Comment fait-on une affectation d'objet en C# (genre MonObjet a = b;
) ? Il faut explicitement définir l'opérateur = ? J'y pense que maitenant, mais j'ai rien lu dessus.[23/05/2016 21:06:10] <Folco> Ou plutôt, faire un constructeur de recopie ? MonObjet a = new MonObject(b);
Autant les bouquins de C++ que j'ai insistent lourdement sur le constructeur de copie et l'opérateur d'affectation, autant j'ai rien vu passer là-dessus en C#.

Et je viens de lire ça dans un bouquin que j'attaque ajd :
Un type référence, à la différence d’un type valeur, doit être instancié grâce au mot clé new.
Ca veut dire qu'on ne peut pas avoir d'objet local ??
Dois-je comprendre que le MonObjet a = b; dont je parle dans le premier quote ne crée alors qu'une référence a, référençant le même objet que b, et ne créant pas de nouvelle instance de l'objet ?

edit -> si on peut écrire string s = "abcde";, c'est qu'on peut déclarer un objet en local... Du coup, que signifie exactement le = dans cette expression ? A gauche, j'ai une référence typée, à droite j'ai un argument de constructeur d'objet...