為什麼要使用命名空間
在應用程式開發過程中,類和類成員的名稱是豐富的,為了描述乙個具體的物件,需要對類成員進行設計。在設計類和類成員過程中,不可避免的類成員中的方法或者類的名稱會出現相同的情況,這樣就會使類的使用變得複雜,**的混亂造成可讀性降低,使用命名空間可以解決這樣的問題。
比如,下面的這個例子
namespace programmer1//程式設計師1的命名空間
public class animal // programmer1的animal類
public string type;//宣告字段
namespace programmer2//程式設計師2的命名空間
public class animal// programmer1的animal類
public string type;//宣告字段
上面的**中,建立了同樣的兩個類animal以及兩個類成員type。在主函式中,開發人員很難區分到底是使用哪乙個類進行物件的建立和初始化,因為通常情況下,每個程式設計師可能只負責該程式設計師的模組或者**,當整合的時候,**就會變得難以呼叫或難以維護。
再如,下面的這段**:
namespace programmer1//程式設計師1的命名空間
public class animal // programmer1的animal類
public string type;//宣告字段
namespace programmer2//程式設計師2的命名空間
public class animal// programmer2的animal類
public string type;//宣告字段
namespace myclass//主程式的命名空間
class program//主程式類
static void main(string args) //主程式入口方法
programmer1.animal bird = new programmer1.animal();//說明是程式設計師1的命名空間下的animal
bird.type = "bird"; //初始化字段
上面的**很好的解決了類名稱相同的情況下開發和維護的困難。
建立命名空間
上面說到了命名空間的好處,但是如何建立命名空間呢?
namespace 命名空間
namespace宣告了乙個命名空間,名稱取命名空間的名稱,在由{}大括號內引用的類成員來建立類。
看下面的例子:
using system;
using system.collections.generic;
using system.linq;
using system.text;//系統命名空間的使用
using mynamsspace;//自定義命名空間的使用
namespace myclass
class program
static void main(string args)
class1 myclass = new class1();//建立物件,該類完整名稱是mynamespace.myclass
上面的**中引用了mynamespace命名空間,並訪問了命名空間中的類,通過該類建立了乙個物件。分層設計時軟體設計中常用的設計方法,同設計模式一樣,分層設計也是為了規範軟體的開發和維護、降低軟體開發成本、將軟體模組化。但是過多的使用命名空間和分層設計也會造成層次過多無法維護的相反效果。
下面介紹一些簡單的命名空間
一、基礎命名空間:
system.collections 包含了一些與集合相關的型別,比如列表、佇列、位陣列、雜湊表和字典等。
system.io 包含了一些資料流型別並提供了檔案和目錄同步非同步讀寫
system.text 包含了一些表示字元編碼的型別並提供了字串的操作和格式化
system.reflection 包含了一些提供載入型別、方法和字段的託管檢視以及動態建立呼叫型別功能的型別。
system.t和reading 提供啟用多執行緒的類和介面
二、圖形命名空間
system.drawing 主要的gdi+命名空間定義了許多態別,實現基本的繪圖型別和無所不能的graphics物件
system.drawing2d 提供了高階的二維和向量影象的功能
system.drawing.imaging 定義了一些型別實現圖形影象的操作
system.drawing.text 提供了操作字型集合的功能
system.drawing.pringting 定義了一些型別實現在列印紙上繪製影象,和印表機互動以及格式化某個列印任務的總體外觀等功能。
還有很多,其他的就不再一一枚舉了。
關於命名空間
1.什麼是命名空間 程式語言使用的一種 組織的形式 通過命名空間來分類,區別不同的 功能2.命名空間的作用 命名空間是用來組織和重用 的 1 如同名字一樣的意思,namespace 名字空間 之所以出來這樣乙個東西,是因為人類可用的單詞數太少,並且不同的人寫的程式不可能所有的變數都沒有重名現象,對於...
關於命名空間
命名空間的作用是為了避免元素命名衝突 命名衝突 在xml中,元素名稱是自定義的,當兩個不同的xml樹在同乙個文件中使用相同的元素名時,就會發生命名衝突,如下 它們都使用到了,xml解析器無法確定如何處理這類衝突 bananas african coffee table 80120 字首 在xml中的...
關於命名空間
命名空間的作用是為了避免元素命名衝突 命名衝突 在xml中,元素名稱是自定義的,當兩個不同的xml樹在同乙個文件中使用相同的元素名時,就會發生命名衝突,如下 它們都使用到了,xml解析器無法確定如何處理這類衝突 table tr tdtd td bananas td tr table table n...