C#日寫點滴(1)

漸漸感覺,學一種知識,腳踏實地,一步一步是多麼重要。

以前習慣一看幾十頁,以爲學了很多,很有成就感,在要用的時候,會想起來看過,可具體怎麼用,又得去搜索查找。

驗證了那句:貪多嚼不爛。

所以,現在決定慢慢學,也溫故而知新,多做一些記錄。

 

C#中的變量:

     C#編譯器需要用某個初始值對變更進行初始化,之後才能在操作中引用該變量。大多數現代編譯器把沒有初始化的變量標記有警告,而C#編譯器把此當錯誤看待。

     C#有兩個方法確保變量在作用前進行了初始化:

     (1)變量是類或結構中的字段,如果沒有顯式初始化,創建這些變量時,其值就默認是0.

     (2)方法的局部變量必須在代碼中顯式初始化,之後才能在語句中使用它們的值。

 

類型推斷:

    類型推斷爲var關鍵字(C#區分大小寫),被聲明的變量必須初始化。聲明瞭變量,推斷出變量類型後,變量的類型就不能再更改了。

   int i=0;

   可以寫成:

   var i=0;

 

變量的作用域:

     public static void Main()

{

         int j=20;

         for(int i=0;i<10;i++)

         {

               int  j=30;

               Console.WriteLine(j+i);

          }

          return 0;

}

這段代碼編譯會出錯。j在循環外定義,在整個Main方法內有效。而第二個j在作用域在循環範圍內,C#無法區別這兩個變量,所以不允許聲明第二個變量,這是與C++不同的地方。C++中允許隱藏變量 。

 

值類型和引用類型:

     值類型存儲在堆棧中,而引用類型存儲在託管堆上。

      把基本類型(如int )規定爲值類型,而把包含許多字段的較大類型規定爲引用類型,C#的這種設計方式原因是可以得到最佳的性能。如果要把自己的類型定義爲值類型,就應把它定義爲一個結構。

   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章