- C# 基礎教程
- C# - 首頁
- C# - 概述
- C# - 環境
- C# - 程式結構
- C# - 基本語法
- C# - 資料型別
- C# - 型別轉換
- C# - 變數
- C# - 常量
- C# - 運算子
- C# - 決策
- C# - 迴圈
- C# - 封裝
- C# - 方法
- C# - 可空型別
- C# - 陣列
- C# - 字串
- C# - 結構體
- C# - 列舉
- C# - 類
- C# - 繼承
- C# - 多型
- C# - 運算子過載
- C# - 介面
- C# - 名稱空間
- C# - 預處理器指令
- C# - 正則表示式
- C# - 異常處理
- C# - 檔案 I/O
- C# 高階教程
- C# - 屬性
- C# - 反射
- C# - 屬性
- C# - 索引器
- C# - 委託
- C# - 事件
- C# - 集合
- C# - 泛型
- C# - 匿名方法
- C# - 不安全程式碼
- C# - 多執行緒
- C# 有用資源
- C# - 問題與解答
- C# - 快速指南
- C# - 有用資源
- C# - 討論
C# - 名稱空間
名稱空間旨在提供一種方法來使一組名稱與另一組名稱分開。在一個名稱空間中宣告的類名不會與在另一個名稱空間中宣告的相同類名衝突。
定義名稱空間
名稱空間定義以關鍵字namespace開頭,後跟名稱空間名稱,如下所示:
namespace namespace_name {
// code declarations
}
要呼叫函式或變數的啟用名稱空間的版本,請在前面加上名稱空間名稱,如下所示:
namespace_name.item_name;
以下程式演示了名稱空間的使用:
using System;
namespace first_space {
class namespace_cl {
public void func() {
Console.WriteLine("Inside first_space");
}
}
}
namespace second_space {
class namespace_cl {
public void func() {
Console.WriteLine("Inside second_space");
}
}
}
class TestClass {
static void Main(string[] args) {
first_space.namespace_cl fc = new first_space.namespace_cl();
second_space.namespace_cl sc = new second_space.namespace_cl();
fc.func();
sc.func();
Console.ReadKey();
}
}
編譯並執行上述程式碼後,將產生以下結果:
Inside first_space Inside second_space
using關鍵字
using關鍵字表示程式正在使用給定名稱空間中的名稱。例如,我們在程式中使用System名稱空間。Console類就在其中定義。我們只需編寫:
Console.WriteLine ("Hello there");
我們也可以寫出完全限定名,如下所示:
System.Console.WriteLine("Hello there");
您還可以使用using名稱空間指令避免在名稱空間前新增字首。此指令告訴編譯器後續程式碼正在使用指定名稱空間中的名稱。因此,名稱空間對於後續程式碼是隱含的:
讓我們使用 using 指令重寫前面的示例:
using System;
using first_space;
using second_space;
namespace first_space {
class abc {
public void func() {
Console.WriteLine("Inside first_space");
}
}
}
namespace second_space {
class efg {
public void func() {
Console.WriteLine("Inside second_space");
}
}
}
class TestClass {
static void Main(string[] args) {
abc fc = new abc();
efg sc = new efg();
fc.func();
sc.func();
Console.ReadKey();
}
}
編譯並執行上述程式碼後,將產生以下結果:
Inside first_space Inside second_space
巢狀名稱空間
您可以按如下方式在一個名稱空間內定義另一個名稱空間:
namespace namespace_name1 {
// code declarations
namespace namespace_name2 {
// code declarations
}
}
您可以使用點 (.) 運算子訪問巢狀名稱空間的成員,如下所示:
using System;
using first_space;
using first_space.second_space;
namespace first_space {
class abc {
public void func() {
Console.WriteLine("Inside first_space");
}
}
namespace second_space {
class efg {
public void func() {
Console.WriteLine("Inside second_space");
}
}
}
}
class TestClass {
static void Main(string[] args) {
abc fc = new abc();
efg sc = new efg();
fc.func();
sc.func();
Console.ReadKey();
}
}
編譯並執行上述程式碼後,將產生以下結果:
Inside first_space Inside second_space
廣告