C#學習筆記—第一天

來源:互聯網
上載者:User

標籤:

C#學習筆記—第一天一、C#與.NET Framework的關係

C#編譯器專門用於.NET,這表示用C#編寫的所有代碼總是使用.NET Framework運行。所以對於C#語言來說,可以有一下兩個結論: 
1)C#的 體繫結構和方法論反映了.NET基礎方法論。 
2)在許多情況下,C#的特定語言功能取決於.NET的功能,或依賴於.NET的基類。

二、.NET編譯過程

1)將原始碼編譯成Microsoft中繼語言IL(Intermediate Language); 
2)公用語言運行庫CLR把IL編譯為平台專用的代碼。

三、 中繼語言IL

IL(Intermediate Language)是微軟.NET平台上衍生出的一門中繼語言,.NET平台上的各種進階語言(如C#,VB,F#)的編譯器會將各自的代碼轉化為IL。,其中包含了.NET平台上的各種元素,如“範型”、“類”、“介面”、“模組”、“屬性”等等。值得注意的是,各種進階語言本身可能根本沒有這些“概念”在裡頭,如IronScheme是一個在.NET平台上的Scheme語言實現,其中根本沒有前面提到的這些IL——亦或說是.NET平台上的名詞。IL本身並不知道自己是由哪種進階語言轉化而來的,哪種語言中有哪些特性,IL也根本不會關心。通過中繼語言IL,能夠實現平台無關性。

四、即時編譯JIT

JIT編譯器並不是把整個應用程式一次編譯完,而是只編譯它調用的那部分代碼。代碼編譯過一次後,得到的本地可執行程式就儲存起來,直到退出該應用程式為止,這樣在下次執行這部分代碼時,就不需要重新編譯了。

五、Managed 程式碼

公用語言運行庫環境執行的代碼,而不是作業系統執行的代碼。

六、finally

當一個異常拋出時,它會改變程式的執行流程。因此不能保證一個語句結束後,它後面的語句一定會執行,在 C# 中這個問題可以用 finally 解決。 
為了確保一個語句總是能執行(不管是否拋出異常),需要將該語句放到一個 finally 塊中,finally 要麼緊接在 try 塊之後,要麼緊接在 try 塊之後的最後一個 catch 處理常式之後。只要程式進入與一個 finally 塊關聯的 try 塊,則 finally 塊始終都會運行 – 即使發生了一個異常。

C#學習筆記—第一天

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.