1. 程式人生 > >C#的引用、屬性、建構函式

C#的引用、屬性、建構函式

引用

c#的引用類似於C語言的指標。如:

class Person
{ 
int age;
string name;
}
Person  p1,p2;//此表示式執行後,系統只是分配了兩個地址來存放這兩個類變數名,並沒有分配長度為int+string大小的空間
p1= new person();
p1.age=10;//此兩式執行後系統分配了記憶體用以儲存p1.age和p1.name的值,而p1則指向這個記憶體空間
p1.name="wwe";//
p2=p1;//p2和p1指向同一個記憶體空間

以上p2=p1;的結果其實是p2和p1指向同一塊記憶體空間

還要注意的是,變數的宣告並沒有分配空間。引用他所分配的也只是一個指標,他所指的是變數名的地址。


一旦變數通過編譯,系統會為他自動初始化,那樣也就分配了空間。初始化值一般為零。

屬性

class Person
{ 
  int age//變數age是一個屬性
  {
    get{return age;}
    set
   {
        if(value<0) throw new Exception("age的值不能小於0!");
      age=value;
    }
  }

string name;//變數name是一個欄位

}

可見屬性有利於對變數進行判斷

建構函式

C#建構函式必須宣告為public才能使用