程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#每天進步一點--引用類型和值類型

C#每天進步一點--引用類型和值類型

編輯:C#入門知識

   

   

//引用類型(由於使用了‘Class’)
class SomeRef{public Int32 x;}

//值類型(由於使用了‘Struct’)
struct SomeVal{public Int32 x;}

static void ValueTypeDemo(){
   SomeRef r1 = new SomeRef();   //在堆上分配
   SomeVal v1 = new SomeVal(); //在棧上分配
   r1.x = 5;                                  //提領指針
   v1.x = 5;                                 //在棧上修改
   Console.WriteLine(r1.x);         //顯示“5”
   Console.WriteLine(v1.x);        //同樣顯示“5”

   SomeRef r2 = r1;                   //只復制引用(指針)
   SomeVal v2 = v1;                  //在棧上分配並復制成員
   r1.x = 8;                                //r1.x和r2.x都會更改
   v1.x = 9;                               //v1.x會更改,但v2.x不變

   Console.WriteLine(r1.x);         //顯示“8”
   Console.WriteLine(r2.x);         //顯示“8”
   Console.WriteLine(v1.x);         //顯示“9”
   Console.WriteLine(v2.x);          //顯示“5”
   
}

  

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