Пространства имён, директивы using и глобальные using (примечание)
Организуйте типы с помощью пространств имён, импортируйте пространства имён через using (и псевдонимы), избегайте конфликтов имён и учитывайте, что global using появился после C# 6.
«Пространства имён, директивы using и глобальные using (примечание)» — бесплатный урок C# Academy на CoddyKit. Это урок 2 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C# Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C# Academy содержит 3 уроков всего.
Пространства имён и импорт: обзор
Цель: организовать и импортировать код.
- пространство имён объединяет связанные типы
- импорт подключает пространства имён
- Псевдонимы устраняют конфликты имён
- глобальный импорт появился после C# 6 (только справочная информация)
Объявление пространства имён и типа
Определите пространство имён, чтобы объединить типы; для доступа к типу всегда можно использовать его полное имя.
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);
}
}
Основы директивы импорта
Добавьте директиву импорта, чтобы подключить пространство имён и использовать короткие имена типов.
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);
}
}
Вложенные пространства имён и полные имена
Пространства имён могут быть вложенными. Используйте полные имена, когда хотите указать тип однозначно.
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);
}
}
Псевдоним импорта
Используйте псевдоним импорта, чтобы различать одинаковые имена типов или сокращать длинные полные имена.
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
}
}
Примечание о глобальном импорте и советы
Примечание: глобальный импорт появился в более новых версиях C# (его нет в C# 6). В C# 6 размещайте директивы импорта в начале каждого файла.
- Объединяйте связанные типы в понятные пространства имён.
- Делайте имена короткими, но содержательными.
- Используйте псевдонимы для устранения конфликтов.
Значение директивы импорта
Повторение
Повторение: используйте пространство имён для организации типов, а импорт — для их подключения в отдельном файле. Устраняйте конфликты с помощью псевдонимов. Глобальный импорт — более новая возможность; в C# 6 размещайте импорты в начале файла.
Часто задаваемые вопросы
Урок «Пространства имён, директивы using и глобальные using (примечание)» бесплатный?
Да — полный текст урока «Пространства имён, директивы using и глобальные using (примечание)» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C# Academy, подпишись на CoddyKit PRO. Курс C# Academy содержит 3 уроков всего.
Чему я научусь в уроке «Пространства имён, директивы using и глобальные using (примечание)»?
Организуйте типы с помощью пространств имён, импортируйте пространства имён через using (и псевдонимы), избегайте конфликтов имён и учитывайте, что global using появился после C# 6. Ты практикуешь C# Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать C# Academy?
Предыдущий опыт не требуется. C# Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 3.
Сколько времени занимает урок «Пространства имён, директивы using и глобальные using (примечание)»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке C# Academy?
Да. Каждый урок C# Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- public/internal/protected/private (с примечанием о file)
- Пространства имён, директивы using и глобальные using (примечание)
- Частичные типы и файлы