- C#實踐教程(第2版)
- 李乃文
- 995字
- 2021-03-19 18:15:33
1.6 命名空間
命名空間(Namespace)是.NET中類的容器,也可以稱作類庫。面向對象編程離不開類和對象,命名空間即為存放類的容器。一個命名空間中可以有一個或多個類,同一個命名空間下的類名不能相同,但不同命名空間下可以有相同的類名。本節介紹命名空間的功能及其使用。
1.6.1 命名空間基礎
命名空間是數據類型的一種組合方式,C#是面向對象編程語言,因此離不開類。但同一個項目的不同的開發人員,可能命名相同的類名來實現不同的功能,此時通過將類放在不同的命名空間下,以避免類重名引起的沖突。
通過命名空間將不同的類分類存儲,能夠使項目的結構更加清晰明確。在.NET Framework下有多個命名空間,可直接引用。如創建一個控制臺應用程序,則在控制臺的后臺代碼中,有如下引用命名空間的語句:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
上述代碼中,“using”關鍵字用來引用命名空間,只有被引用的命名空間,其內部的類和方法才能被直接使用。“using”關鍵字后為命名空間的名稱,該窗體共添加了9個命名空間。
由上述代碼可以看出,該窗體所引用的命名空間都有“System”字樣,除了首行以外,其他命名空間都在“System”字樣后添加圓點及其他名稱。
命名空間是可以嵌套的,因此代碼引用中,有著嵌套的命名空間。但命名空間的嵌套與其內部類和方法的使用沒有關聯,它們屬于不同的命名空間。常見的命名空間及其介紹如表1-2所示。
表1-2 常用命名空間及其說明

1.6.2 命名空間的使用
命名空間寫在.cs文件下,使用關鍵字“namespace”來定義。命名空間下有一個或多個類,類使用關鍵字“class”來定義。
命名空間和類的定義都是在關鍵字后添加自定義的(命名空間/類)名稱,接著是大括號{}。在大括號內部定義命名空間或類的具體內容。如定義一個命名空間Fruit和其內部的兩個類Apple和Banana,代碼如下:
namespace Fruit { class Apple { } class Banana { } }
命名空間是可以嵌套使用的,其嵌套的使用有兩種方式。如上述代碼中,將命名空間Fruit放在命名空間Food的內部,Fruit命名空間的應用需要使用“using Food.Fruit”。其定義代碼有兩種方式,如下所示。
□ 直接使用嵌套的命名空間名稱
namespace Food.Fruit { class Apple { } class Banana { } }
□ 使用命名空間的嵌套
namespace Food { namespace Fruit { class Apple { } class Banana { } } }
命名空間是可以擴充的,可在不同文件下定義同一個命名空間中的類。如上述代碼可以在不同文件下分別定義類Apple和類Banana,代碼如下:
namespace Food.Fruit { class Apple { } } //下面代碼在另一個文件下 namespace Food.Fruit { class Banana { } }
上述代碼中,“//”后面的語句為注釋語句,程序在運行時跳過不執行語句,通常用于對程序的解釋。代碼中的注釋將在本書第2章詳細介紹。
- FuelPHP Application Development Blueprints
- Cross-platform Desktop Application Development:Electron,Node,NW.js,and React
- Machine Learning with R Cookbook(Second Edition)
- C/C++常用算法手冊(第3版)
- Mastering Yii
- 青少年學Python(第1冊)
- Julia高性能科學計算(第2版)
- ASP.NET Core 2 Fundamentals
- 后臺開發:核心技術與應用實踐
- Java 從入門到項目實踐(超值版)
- TypeScript圖形渲染實戰:2D架構設計與實現
- Learning Cocos2d-JS Game Development
- Python計算機視覺與深度學習實戰
- Visual C++程序設計全程指南
- C++面向對象程序設計