Пространство имен (namespace) — это организационный механизм в C#, который позволяет логически группировать связанные типы (классы, интерфейсы, структуры, делегаты и т.д.) и предотвращать конфликты имен.
namespace CompanyName.ProjectName.ModuleName
{
public class MyClass { /* ... */ }
}
// Полное квалифицированное имя
var obj1 = new CompanyName.ProjectName.ModuleName.MyClass();
// Или с using директивой
using CompanyName.ProjectName.ModuleName;
var obj2 = new MyClass();
namespace MyApp.Data
{
public class Repository { /* ... */ }
}
namespace MyApp.Services
{
public class BusinessService { /* ... */ }
}
namespace MyApp.Web.Controllers
{
public class HomeController { /* ... */ }
}
namespace LibraryA
{
public class Logger { /* логирование в файл */ }
}
namespace LibraryB
{
public class Logger { /* логирование в БД */ }
}
// Использование:
var fileLogger = new LibraryA.Logger();
var dbLogger = new LibraryB.Logger();
namespace Outer.Inner
{
public class NestedClass { /* ... */ }
}
// Эквивалентно:
namespace Outer
{
namespace Inner
{
public class NestedClass { /* ... */ }
}
}
using static System.Math;
double x = Sqrt(16); // Вместо Math.Sqrt
using DbLogger = CompanyB.Data.Logging.Logger;
Пространства имен — это фундаментальный механизм организации кода в C#, который помогает поддерживать порядок в больших проектах, избегать конфликтов имен и создавать логичную структуру приложения. Их правильное использование значительно улучшает читаемость кода и упрощает командную разработку.