c# 命名空間和程序集
更新時間:2012年10月29日 13:57:09 作者:
命名空間:用于對相關(guān)的類型進(jìn)行邏輯分組,使用命名空間方便定位一個類型
使用類的全權(quán)名:
System.Text.StringBuilder sb = new System.Text.StringBuilder();
上面的寫法很繁瑣,使用using語句引入命名空間:
using System.Text;
StringBuilder sb = new StringBuilder();
對于編譯器來說,命名空間就是為一個類型附加一些分隔符號,使名稱更有唯一性。
c#的using指令是可選的,完全可以用類型的完整名稱代替,c# 的using指令時指示編譯器為
每一個類型附加不同的前綴,確定匹配的完整名稱。
CLR不知道命名空間的任何事,CLR知道類的完整名稱來鎖定具體在哪個程序集里面定義的,然后加載這個程序集,并對其操作。
c# 的using指令還支持另一種形式,允許為一個類型或命名空間定義別名:
using int = System.Int32;
int i = 0;
命名空間和程序集關(guān)系:
程序集是實現(xiàn)類型的文件,編譯之后生成的。
命名空間是對類型的邏輯分組。
同一個命名空間中的類型可以是在不同的程序集中定義的。
同一個程序集中也可能包含多個命名空間,來對類型分組。
c#編譯器可能比較關(guān)心命名空間,應(yīng)為它需要確定類的完整名稱,然后交給CLR。
CLR只關(guān)心程序集,會通過類的完整名稱加載對應(yīng)的程序集。
System.Text.StringBuilder sb = new System.Text.StringBuilder();
上面的寫法很繁瑣,使用using語句引入命名空間:
using System.Text;
StringBuilder sb = new StringBuilder();
對于編譯器來說,命名空間就是為一個類型附加一些分隔符號,使名稱更有唯一性。
c#的using指令是可選的,完全可以用類型的完整名稱代替,c# 的using指令時指示編譯器為
每一個類型附加不同的前綴,確定匹配的完整名稱。
CLR不知道命名空間的任何事,CLR知道類的完整名稱來鎖定具體在哪個程序集里面定義的,然后加載這個程序集,并對其操作。
c# 的using指令還支持另一種形式,允許為一個類型或命名空間定義別名:
using int = System.Int32;
int i = 0;
命名空間和程序集關(guān)系:
程序集是實現(xiàn)類型的文件,編譯之后生成的。
命名空間是對類型的邏輯分組。
同一個命名空間中的類型可以是在不同的程序集中定義的。
同一個程序集中也可能包含多個命名空間,來對類型分組。
c#編譯器可能比較關(guān)心命名空間,應(yīng)為它需要確定類的完整名稱,然后交給CLR。
CLR只關(guān)心程序集,會通過類的完整名稱加載對應(yīng)的程序集。
相關(guān)文章
C#中ManualResetEvent實現(xiàn)線程的暫停與恢復(fù)
本文主要介紹了C#中ManualResetEvent實現(xiàn)線程的暫停與恢復(fù),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01C#實現(xiàn)定時任務(wù)Task Scheduler的示例代碼
這篇文章主要為大家詳細(xì)介紹了C#實現(xiàn)定時任務(wù)Task Scheduler的相關(guān)知識,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02C#創(chuàng)建數(shù)據(jù)庫及附加數(shù)據(jù)庫的操作方法
這篇文章主要介紹了C#創(chuàng)建數(shù)據(jù)庫及附加數(shù)據(jù)庫的操作方法,涉及C#針對數(shù)據(jù)庫常見的創(chuàng)建、添加、連接等操作技巧,需要的朋友可以參考下2016-06-06