Non sono abbastanza sicuro di cosa dovrei usare in C # - entrambi dovrebbero teoricamente fare lo stesso, ma penso che entrambi siano abbastanza facilmente controllati. O c'è un'altra possibilità che devo prendere in considerazione?
So che in C ++ si usano i costruttori di copie. Ma in C # non ho mai sentito molto di loro (sono solo un ctor con self come parametro e dovrebbero riassegnare tutti i dati)
Inoltre, il mio copy-ctor dovrebbe copiare in profondità tutti gli oggetti o solo riassegnarli?
Che cosa è considerato "migliore pratica" per questo scenario?