Menu
Coddy logo textTech

Пространства имен и директивы

Часть раздела Объектно-ориентированное программирование путешествия по C# на Coddy — урок 2 из 70.

Пространства имен организуют ваш код и предотвращают конфликты имен. Они группируют связанные классы вместе, подобно тому, как папки организуют файлы.

Создайте класс внутри пространства имен

namespace MyApp.Models
{
    public class User
    {
        public string Name { get; set; }
        
        public User(string name)
        {
            Name = name;
        }
    }
}

Используйте директиву using для доступа к классам из другого пространства имен

using System;
using MyApp.Models;

class Program
{
    static void Main()
    {
        User user = new User("Alice");
        Console.WriteLine(user.Name);
    }
}

Вывод:

Alice

Без директивы using вы должны использовать полное имя

MyApp.Models.User user = new MyApp.Models.User("Bob");

Директива using позволяет ссылаться на типы в пространстве имен без необходимости каждый раз вводить полный путь к пространству имен. System — это распространенное пространство имен, содержащее базовые классы, такие как Console.

challenge icon

Задание

Средне

У вас есть класс User в пространстве имен MyApp.Models. Добавьте правильную директиву using в Program.cs, чтобы использовать класс User без использования полного имени.

Шпаргалка

Пространства имен организуют код и предотвращают конфликты имен, группируя связанные классы вместе.

Создайте класс внутри пространства имен:

namespace MyApp.Models
{
    public class User
    {
        public string Name { get; set; }
        
        public User(string name)
        {
            Name = name;
        }
    }
}

Используйте директиву using для доступа к классам из другого пространства имен:

using System;
using MyApp.Models;

class Program
{
    static void Main()
    {
        User user = new User("Alice");
        Console.WriteLine(user.Name);
    }
}

Без директивы using используйте полное уточненное имя:

MyApp.Models.User user = new MyApp.Models.User("Bob");

Пространство имен System содержит фундаментальные классы, такие как Console.

Попробуйте сами

using System;
// TODO: Добавьте директиву using для MyApp.Models

class Program
{
    static void Main()
    {
        string userName = Console.ReadLine();
        // TODO: Создайте объект User, используя userName
        // TODO: Выведите "User created: ", а затем Name пользователя
    }
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Объектно-ориентированное программирование