程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> C#應該知道的簡單的知識點

C#應該知道的簡單的知識點

編輯:關於PHP編程

       1.本地變量

      一看這個標題你可能會一愣,這是個什麼東東。看個小例子:

      static void main()

      {

      int a=10;

      MyClass mc=new MyClass();

      }

      呵呵,這裡的a與mc就是本地變量,它和字段一樣,也保存數據。字段通常保存和對象狀態有關的數據,而創建本地變量經常用於保存本地或臨時數據。呵呵,簡單吧,但是它和實例字段有何區別:

      實例字段

      本地變量

      生存期 從實例創建開始,直到實例不再被訪問

      從它在塊中被聲明開始,到塊執行結束

      隱式初始化 初始化成該類的默認值 沒有隱式初始化。如果變量在使用之前沒有被賦值,編譯器將報錯

      存儲區域 由於實例字段是類的成員,所有的字段都存儲在堆裡,無論它是指類型還是引用類型 值類型:存儲在棧裡

      引用類型:引用存儲在棧裡,數據存放在堆裡

      2.var 關鍵字

      我們知道var可以自動推斷變量的類型,如上代碼,我們可以發現在聲明開始部分提供類型名時,編譯器能從初始化語句的右邊推斷出來它的類型,所以,在聲明的開始部分包括顯示的類型名多余的。

      為了避免這種多余,可以在聲明的開始部分的顯示類型名的位置使用新的關鍵字var。上面代碼可以改成:

      static void main()

      {

      var a=10;

      var mc=new MyClass();

      }

      3.值參數

      使用值參數,通過將實參的值復制到形參的方式把數據傳遞給方法。方法被調用時,系統做如下操作:

      在棧中為形參分配空間

      將實參的值復制給形參

      4.引用參數(ref)

      不會為形參在棧上分配內存

      實際情況是,形參的參數名將作為實參變量的別名,指向相同的內存位置

      實參必須是變量,在用作實參前必須被賦值。如果是引用類型變量,可以賦值一個引用或者null

      5.輸出參數(out)

      在方法內部,輸出參數在能夠使用之前必須被賦值。這就意味著參數的初始值是不起作用的,所以沒有必要在方法調用前為參數賦值。

      在方法返回之前,方法內部任何路徑都必須為所有輸出參數進行一次賦值。

      如下代碼:

      public void Add(out int outValue) { int var1=outValue+2; }上述代碼輸出參數在方法賦值之前被讀取將會報錯。

      6.屬性(set,get)

      屬性是一個函數成員

      它不為數據的存儲分配內存

      它可以執行代碼

      set訪問器擁有一個單獨的隱式的值參,名稱為Value,與屬性的類型相同且擁有一個返回類型void

      get訪問器沒有參數,擁有一個與屬性類型相同的返回類型。

      7.對象初始化語句

      我們都知道創建一個對象是由new 後面跟著一個類構造函數及其參數列表組成。

      對象初始化語句擴展了創建語法,在表達式的尾部放置了一組成員初始化的語句。允許我們創建新的對象實例時,設置字段和屬性的值。

      該語法有兩種形式:一種形式是包括構造函數的參數列表,另一種是不包括。注意第一種形式可以省略圓括號。

      new TypeName {FieldOrProp=InitExpr,FieldOrProp=InitExpr,…}

      new TypeName {FieldOrProp=InitExpr,FieldOrProp=InitExpr,…}

      示例如下:

      public static void main()

      {

      Point p1=new Point();

      Point p2=new Point{X=4,Y=5,Z=6};

      Point p3=new Point(9){X=7,Y=8};

      }

      public class Point

      {

      public int X=1;

      public int Y=2;

      public int Z=3;

      public Point(int z) { Z=z; }

      }

      8.this關鍵字

      this關鍵字在類中使用,是對當前實例的引用。它只能用在下列類成員的代碼中

      實例構造函數

      實例方法

      屬性和索引器的實例訪問權

      由於靜態成員不是實例的一部分,所以不能在任何靜態函數成員的代碼中使用this關鍵字。更適當的說,this用於下列目的:

      用於區分類的成員和本地變量或參數

      做為調用方法的實參

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved