📘 Introducción

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:

Aunque 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.


1. Tres formas de representar datos en C#

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

📌 Idea importante

La diferencia más relevante no está en la sintaxis, sino en la forma en que C# determina si dos objetos son iguales.


2. Clases (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: