Aprende a crear una solución .NET ordenada y profesional con C# paso a paso: desde el proyecto de consola hasta una clase Escuela bien diseñada con encapsulamiento, propiedades y constructor. Verás atajos útiles de Visual Studio Code, convenciones y pequeñas decisiones que hacen tu código más mantenible.
¿Cómo iniciar un proyecto .NET consola con Visual Studio Code?
Crear la base correcta facilita todo. Se parte de un folder y se verifica cada paso para evitar errores.
- Crear carpeta etapa uno y abrir en VS Code.
- Inicializar una app de consola con .NET.
- Ejecutar para ver el Hola Mundo.
- Mantener orden: carpeta Entidades para clases del dominio.
¿Qué comandos usar en la terminal?
dotnet new console
dotnet run
- Verifica que “Hola Mundo” se ejecute bien.
- Usa la terminal integrada de VS Code.
- Cada instrucción en C# finaliza con punto y coma.
¿Qué es el encapsulamiento en C# y cómo usar propiedades?
La clase Escuela modela el dominio y protege sus datos. En lugar de exponer campos públicos, se usan propiedades con get y set. Así podrás agregar lógica sin romper otras partes del código.
¿Cómo se define una propiedad con get y set?
- Un campo privado guarda el dato.
- Una propiedad pública controla lectura y escritura.
- Se aplican convenciones: campo en minúscula; propiedad en PascalCase.
namespace CoreEscuela.Entidades
{
public class Escuela
{
// Campo privado (atributo).
private string nombre;
// Propiedad con lógica de negocio.
public string Nombre
{
get { return "copia " + nombre; } // Antecede "copia ".
set { nombre = value.ToUpper(); } // Fuerza mayúsculas.
}
// Propiedad autoimplementada (atajo get; set;).
public int AñoDeCreación { get; set; }
// Otras propiedades del dominio.
public string País { get; set; }
// Ejemplo estilo propfull: propiedad con campo de respaldo.
private string ciudad;
public string Ciudad
{
get { return ciudad; }
set { ciudad = value; }
}
}
}
- Conceptos clave: atributo/campo, propiedad, get, set, convención de nombres, shortcut de auto-propiedad.
- Beneficio: puedes agregar validaciones, auditorías o transformaciones cuando leas/escribas.
¿Cómo crear auto-propiedades rápido con los atajos de VS Code?
- Escribe prop y tabulador: crea tipo, nombre y { get; set; }.
- Escribe propfull y tabulador: crea campo privado + propiedad completa.
- Útiles para acelerar código repetitivo.
¿Cómo definir un constructor y asignar propiedades con tuplas?
El constructor obliga a crear objetos válidos desde el inicio. Puedes exigir parámetros mínimos, como nombre y año de creación.
¿Cómo funciona el constructor y la palabra clave this?
- Si parámetro y campo se llaman igual, usa this para referirte al miembro de la clase.
- Así evitas ambigüedad y asignas con claridad.
public class Escuela
{
private string nombre;
public string Nombre
{
get { return "copia " + nombre; }
set { nombre = value.ToUpper(); }
}
public int AñoDeCreación { get; set; }
public string País { get; set; }
public string Ciudad { get; set; }
// Constructor clásico.
public Escuela(string nombre, int año)
{
this.Nombre = nombre;
this.AñoDeCreación = año;
País = "Colombia";
Ciudad = "Bogotá";
}
}
- Ventaja: garantiza datos mínimos y consistentes.
- Puedes asignar valores por defecto a otras propiedades.
¿Cómo usar asignación por tuplas en el constructor?
- Versión corta: asigna varias propiedades en una sola línea.
- Limpia, legible y mantiene la intención.
public Escuela(string nombre, int año)
=> (Nombre, AñoDeCreación) = (nombre, año);
Ejemplo de uso desde Program:
var escuela = new Escuela("Platzi Academy", 2012)
{
País = "Colombia",
Ciudad = "Bogotá"
};
Console.WriteLine(escuela.Nombre); // Salida: "copia PLATZI ACADEMY"
¿Te quedó alguna duda sobre propiedades, get/set o constructores? Cuéntame en un comentario qué parte quieres practicar más o qué caso real de tu proyecto te gustaría modelar.