《C#進階編程》筆記系列–點滴記錄(持續更新中……)

來源:互聯網
上載者:User

1.C#本身不是.NET的一部分。.NET支援的一些特性,C#並不支援。而C#支援的另一些特性,.NET卻不支援(例如運算子多載)
2.編譯分兩個階段:
  
(1)把原始碼編譯為Microsoft中繼語言(IL)。
  
(2)CLR把IL編譯為平台專用的代碼。
3.一般型別系統(CTS),將不同語言的類型映射為中繼語言的類型,從而提供了語言的互通性。
4.修飾符(public,static),操作符(==,>,<)
5.變數的範圍
 
(1)同名的局部變數不能在同一範圍中申明兩次。
  (2)類的欄位和局部變數允許使用相同的名字。

6.常量Const總是靜態,不必也不允許加Static修飾符
7.常量Const和ReadOnly欄位的區別在於唯讀欄位可以從一個變數中提取的值去初始化常量。
8.實值型別儲存在堆棧中,而參考型別儲存在託管堆上。C#中,單一資料型別(int,float,byte)、枚舉類型和結構(struct)類型都是實值型別。包含在參考型別內的實值型別不會被儲存在棧中,而是堆中,它被包含於參考型別對象中。實值型別數組(例如雙精確度或整型數組)是在堆中存放,而不是棧中。只有儲存數組引用的值是存放在棧中。這是因為所有數群組類型都隱含派生於System.Array,它們都是參考型別。
9.decimal
類型不是基本類型,所以在計算時使用該類型會有效能損失。float 32位 double 64位 decimal
128位
10.可以在字串字面量的前面加上字元@,甚至允許在字串字面量中包含分行符號:
      string
jabberwocky=@"'Twasbrilligandtheslithytoves
                                        
Didgyreandgimbleinthewabe.";
11.Foreach集合中迭代的各項的值不能改變,但若為對象,其屬性是可以改變。
12.Continue語句退出當前迴圈,執行下一次迴圈
13.預先處理指令#define #undef #if #elif #else #endif #warning #error #pragma
warning disable 169 #line #region
14.out 關鍵字的用法。
15.C#的不支援選擇性參數。
16.所有的.NET類都派生於System.Object。我們定義類時,假定沒有指定基類,編譯器會自動假定這個類派生於System.Object基類

(最後更新於2007-10-28 14:00)

相關文章

聯繫我們

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