當專案引用多個函式庫,且不同函式庫包含相同名稱的類別時,命名空間提供編譯期消歧義機制:
using System.Net.Mail;
using System.Web.Mail;
// 編譯錯誤:'MailMessage' 在 'System.Net.Mail' 和 'System.Web.Mail' 之間模稜兩可
// MailMessage mm = new MailMessage();
// 解決:使用完整限定名稱
System.Net.Mail.MailMessage mm1 = new System.Net.Mail.MailMessage();
System.Web.Mail.MailMessage mm2 = new System.Web.Mail.MailMessage();
namespace demostrator
{
public class Demo
{
private string _name;
public Demo() { _name = "luXiaofeng"; }
public Demo(string name) { _name = name; }
public string GetName() => _name;
}
public class Myname
{
private string _name;
public Myname() { _name = "bianceng"; }
public Myname(string name) { _name = name; }
public string GetName() => _name;
}
}
using demostrator; // 引入命名空間
// 頁面載入事件
protected void Page_Load(object sender, EventArgs e)
{
Demo demo = new Demo(); // 等同 demostrator.Demo
Myname name = new Myname();
Response.Write($"in Demo default name is {demo.GetName()}");
Response.Write(" ___________________ ");
Response.Write($"in Myname default name is {name.GetName()}");
}

namespace Company
{
namespace ProjectA
{
public class ClassA { }
}
namespace ProjectB
{
public class ClassB { }
}
}
// 使用
Company.ProjectA.ClassA a = new Company.ProjectA.ClassA();
// 或
using Company.ProjectA;
ClassA a2 = new ClassA();
[ToolboxBitmap(typeof(MyControl))][Designer(typeof(MyControlDesigner))][ControlBuilder(typeof(MyControlBuilder))]MyCompany.Product.ModuleInternal 命名空間隱藏細節命名空間是 C# 程式碼組織的基石,解決型別名稱衝突、提供邏輯分層、支援大型專案協作。核心語法:namespace Name { ... } 定義,using Name; 引入,using Alias = Name; 別名。配合 Visual Studio 設計器屬性,可構建專業級元件庫。養成「高內聚、低耦合、穩定公開介面」的命名空間設計習慣,是架構師級開發者的基本功。