Tengo una clase con un campo que debe inicializarse cuando se inicializa el objeto, como una lista que debe crearse antes de que los objetos puedan agregarse/eliminarse .Inicializando los campos de clase en la definición de campo o en el constructor de clase
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()
{
}
}
¿Cuál es la diferencia entre estas dos clases, y por qué elegirías un método sobre el otro?
Normalmente establezco el campo en el constructor, como en MyClass1, porque me resulta más fácil poder mirar en un solo lugar para ver todo lo que sucede cuando se está instanciando el objeto, pero ¿hay algún caso donde ¿Es mejor inicializar un campo directamente como en MyClass2?
Ellos tienen ya valor por defecto ... no hay necesidad de Init de nuevo. –