TGViewer
Библиотека шарписта | C#, F#, .NET, ASP.NET Библиотека шарписта | C#, F#, .NET, ASP.NET @csharpproglib · 21.7K subscribers
Post #6745 3.5K
🆚 Namespace vs Assembly

Давайте разберёмся, чем отличается namespace от assembly.

Namespace — это логическая организация кода.
Assembly — это физический файл на диске.

Они существуют в разных измерениях и решают разные задачи.

Namespace (пространство имён) — это способ логической группировки классов, интерфейсов и других типов, чтобы избежать конфликтов имён:
namespace MyCompany.PaymentSystem
{
public class PaymentProcessor
{
// ...
}
}

namespace MyCompany.Logging
{
public class Logger
{
// ...
}
}


Зачем нужны namespace

• Без namespace два класса с именем Logger конфликтуют. С namespace можно иметь MyApp.Logger и ThirdPartyLib.Logger одновременно.

• Организация кода по доменам: MyCompany.Ecommerce.Orders, MyCompany.Ecommerce.Products, MyCompany.Ecommerce.Payments.

• Упрощённое использование кода с using

using MyCompany.Ecommerce.Orders;

var order = new Order(); // Вместо: new MyCompany.Ecommerce.Orders.Order()


Можно объявить namespace один раз для всего проекта:
// GlobalUsings.cs
global using System;
global using MyCompany.Core;


Что такое Assembly

Assembly (сборка) — это скомпилированный физический файл на диске .dll или .exe, который содержит IL-код и метаданные.

• .exe — приложение, которое можно запустить.
• .dll — библиотека для подключения.

Как они связаны

Подключение сборки:
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />

Это добавляет assembly в проект.

Использование namespace:
using Newtonsoft.Json;  // Импортируем namespace

var json = JsonConvert.SerializeObject(obj);

//или без using

var json = Newtonsoft.Json.JsonConvert.SerializeObject(obj);


Один работает на уровне файлов, другой — на уровне кода.

📍 Навигация: Вакансии • Задачи • Собесы

🐸Библиотека шарписта

#il_люминатор
  • ❤ 11
  • 👍 8
More from @csharpproglib
  1. Sep 26, 2026📍 Навигация: Вакансии • Задачи • Собесы 🐸 Библиотека шарписта #garbage_collector
  2. Sep 25, 2026🔐 NuGet: Microsoft меняет сертификат подписи С 23 сентября Microsoft использует новый сер…
  3. Sep 24, 2026🤩 Как поймать зависший .NET-сервис Приложение начинает тормозить, запросы зависают, а в л…
  4. Sep 23, 2026⚙️ yield return не бесплатный Итераторы выглядят просто, но работают иначе: IEnumerable<in…
  5. Sep 22, 2026💡 Replace, Regex или StringBuilder? Для замены текста в C# есть несколько инструментов. И…
  6. Sep 21, 2026⚙️ Настоящие атомарные операции Если Volatile решает проблему видимости, то Interlocked ре…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →