Ho una classe con un campo che deve essere inizializzato quando l'oggetto è inizializzato, come un elenco che deve essere creato prima che gli oggetti possano essere aggiunti/rimossi da esso .Inizializzazione dei campi di classe nella definizione campo o nel costruttore di classe
public class MyClass1
{
private List<MyOtherClass> _otherClassList;
public MyClass1()
{
this._otherClasslist = new List<MyOtherClass>();
}
}
public class MyClass2
{
private List<MyOtherClass> = new List<MyOtherClass>();
public MyClass2()
{
}
}
Qual è la differenza tra queste due classi e perché scegliere un metodo rispetto all'altro?
Io di solito imposta il campo nel costruttore, come in MyClass1, perché trovo più semplice poter guardare in un punto per vedere tutte le cose che accadono quando l'istanza viene istanziata, ma c'è comunque un caso dove è meglio inizializzare un campo direttamente come in MyClass2?
Hanno già valore di default ... non c'è bisogno di Init di nuovo. –