Hasta este punto del curso hemos trabajado exclusivamente con clases (class), el tipo más utilizado en C# para implementar la Programación Orientada a Objetos. Sin embargo, C# también ofrece otros dos tipos que pueden ser más adecuados en escenarios especÃficos:
structrecordAunque los tres permiten representar datos, no funcionan de la misma manera. La diferencia más importante radica en cómo comparan los objetos y cómo manejan su identidad.
El profesor enfatiza que las clases siguen siendo el tipo más versátil y utilizado, mientras que struct y record están diseñados para resolver necesidades muy concretas.
| Tipo | Comparación | Uso principal |
|---|---|---|
class |
Por referencia | Objetos con comportamiento y lógica |
struct |
Por valor | Objetos pequeños orientados a datos |
record |
Por valor | Objetos inmutables y DTOs |
La diferencia más relevante no está en la sintaxis, sino en la forma en que C# determina si dos objetos son iguales.
class)Las clases son el tipo más utilizado en C# y sobre el que está construido gran parte del ecosistema .NET.
Una clase permite combinar: