c# 命名空間和程式集

來源:互聯網
上載者:User

使用類的全權名:

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;
命名空間和程式集關係:

程式集是實作類別型的檔案,編譯之後產生的。

命名空間是對類型的邏輯分組。

同一個命名空間中的類型可以是在不同的程式集中定義的。

同一個程式集中也可能包含多個命名空間,來對類型分組。

c#編譯器可能比較關心命名空間,應為它需要確定類的完整名稱,然後交給CLR。

CLR只關心程式集,會通過類的完整名稱載入對應的程式集。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.