Junior — Middle
¿En qué se diferencian los tipos de datos de referencia de los tipos de valor en programación?
sobes.tech AI
Respuesta de la IA
En C#, los tipos de datos se dividen en tipos de valor (value types) y tipos de referencia (reference types).
Los tipos de valor almacenan los datos directamente. Al asignar o pasar a un método, se copia el valor en sí. Ejemplos: int, double, struct, bool.
Los tipos de referencia almacenan una referencia a un área de memoria donde se encuentran los datos. Al asignar, se copia la referencia, no los datos en sí, por lo que varias variables pueden apuntar a un mismo objeto. Ejemplos: class, string, array.
Ejemplo:
int a = 5;
int b = a; // se copia el valor 5
b = 10;
// a todavía es 5
class Person { public string Name; }
Person p1 = new Person { Name = "Alice" };
Person p2 = p1; // se copia la referencia
p2.Name = "Bob";
// p1.Name ahora es "Bob"
Por lo tanto, la principal diferencia es la forma en que se almacenan y copian los datos: los tipos de valor copian los valores, los tipos de referencia copian referencias a objetos.