Namespaces, directivas using y global usings (nota)
Organice los tipos con namespaces, importe namespaces con using (y alias), evite colisiones de nombres y tenga en cuenta que global using es posterior a C# 6.
Namespaces, directivas using y global usings (nota) es una lección gratuita de C# Academy en CoddyKit. Esta es la lección 2 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de C# Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de C# Academy incluye 3 lecciones en total.
Descripción general de namespace y using
Objetivo: Organice e importe código.
- namespace agrupa tipos relacionados
- using importa espacios de nombres
- Los alias resuelven conflictos de nombres
- global using es posterior a C# 6 (solo informativo)
Declarar un namespace y un tipo
Defina un namespace para agrupar tipos; siempre puede usar el nombre completamente calificado para acceder a un tipo.
using System;
namespace MyApp.Models
{
public class User
{
public string Name { get; private set; }
public User(string name) { Name = name; }
}
}
public class Program
{
public static void Main(string[] args)
{
// Fully-qualified name without using
MyApp.Models.User u = new MyApp.Models.User("Ada");
Console.WriteLine(u.Name);
}
}
Aspectos básicos de la directiva using
Añada una directiva using para importar un espacio de nombres y poder usar nombres de tipo abreviados.
using System;
using MyApp.Models; // import the namespace declared previously
namespace MyApp.Models
{
public class User
{
public string Name { get; private set; }
public User(string name) { Name = name; }
}
}
public class Program
{
public static void Main(string[] args)
{
// Short type name thanks to using
User u = new User("Alan");
Console.WriteLine(u.Name);
}
}
Espacios de nombres anidados y FQN
Los espacios de nombres pueden anidarse. Use nombres completamente calificados cuando quiera ser explícito.
using System;
namespace Company
{
namespace Billing
{
public class Invoice { public int Number; }
}
namespace Support
{
public class Ticket { public int Id; }
}
}
public class Program
{
public static void Main(string[] args)
{
Company.Billing.Invoice inv = new Company.Billing.Invoice();
inv.Number = 1001;
Company.Support.Ticket t = new Company.Support.Ticket();
t.Id = 42;
Console.WriteLine("Invoice " + inv.Number + ", Ticket " + t.Id);
}
}
Alias de using
Use un alias de using para desambiguar nombres de tipo idénticos o acortar nombres completos largos.
using System;
// Two classes with the same short name in different namespaces
namespace LibA { public class Logger { public string Name = "A"; } }
namespace LibB { public class Logger { public string Name = "B"; } }
// Create aliases to disambiguate
using ALogger = LibA.Logger;
using BLogger = LibB.Logger;
public class Program
{
public static void Main(string[] args)
{
ALogger a = new ALogger();
BLogger b = new BLogger();
Console.WriteLine(a.Name + " & " + b.Name); // A & B
}
}
Nota sobre global using y consejos
Nota: global using se introdujo en versiones más recientes de C# (no está disponible en C# 6). En C# 6, coloque las directivas using al principio de cada archivo.
- Agrupe los tipos relacionados en namespaces claros.
- Mantenga los nombres cortos, pero significativos.
- Use alias para resolver conflictos.
Significado de la directiva using
Resumen
Resumen: Use namespace para organizar los tipos y using para importarlos por archivo. Resuelva los conflictos con alias. global using es una característica más reciente; en C# 6, mantenga las directivas using al principio del archivo.
Preguntas frecuentes
¿La lección «Namespaces, directivas using y global usings (nota)» es gratis?
Sí — el texto completo de «Namespaces, directivas using y global usings (nota)» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de C# Academy, actualiza a CoddyKit PRO. El curso de C# Academy incluye 3 lecciones en total.
¿Qué aprenderé en «Namespaces, directivas using y global usings (nota)»?
Organice los tipos con namespaces, importe namespaces con using (y alias), evite colisiones de nombres y tenga en cuenta que global using es posterior a C# 6. Practicas C# Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar C# Academy?
No se requiere experiencia previa. C# Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 3.
¿Cuánto tiempo toma la lección «Namespaces, directivas using y global usings (nota)»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de C# Academy?
Sí. Cada lección de C# Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- public/internal/protected/private (con una nota sobre file)
- Namespaces, directivas using y global usings (nota)
- Tipos y archivos parciales