Cuando declaramos una variable, ¿la variable en sí misma consume memoria?¿Una variable en sí misma consume memoria?
class IHaveNothing
{
}
class IHaveNullFields
{
string @string = null;
StringBuilder @StringBuilder = null;
}
class Program
{
static void Main(string[] args)
{
IHaveNothing nothing = new IHaveNothing();
IHaveNullFields nullFields = new IHaveNullFields();
}
}
¿La instancia nullFields consume más memoria que la instancia?
EDIT: ¿Qué hay de las variables locales nulas en oposición a los campos nulos de clase, también consumen memoria?
Me gustaría agregar que la cantidad de memoria que está hablando es insignificante. Si los campos son nulos, solo habrá unos pocos bytes por instancia por miembro adicional. A menos que esté creando millones de instancias o cientos de campos, es poco probable que tenga un impacto en su proyecto. –
pregunta confusa. Preguntas sobre las variables, pero parecen hablar sobre los campos. –
@Hans: fields * are * variables. Una variable se define como * ubicación de almacenamiento *. Los campos son variables. Las variables locales son variables. Los elementos de matriz son variables. Si puede almacenar datos en él y cambiarlo, es una variable. –