引用類型:引用類型的變量存儲對其數據(對象)的引用。兩種變量可能引用同一個對象,對一個變量的操作都會影響到另外一個變量所的引用的對象。
值類型:每個變量相當於都保存有自己的副本,對新變量的操作不會影響原來的變量(ref和out參數變量除外)。
拆箱:將引用類型轉換爲值類型
裝箱:將值類型轉換爲引用類型
下面我寫了個小例子,幫助自己理解。
using System;
using System.Collections.Generic;using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ZhiAndYinyong
{
class Program
{
static void Main(string[] args)
{
//引用類型,改變b的值將修改a的值
int[] a = { 1,2,3};
int[] b;
b = a;
b[0] = 4;
//值類型 不改變原來的值 d=c只是將c的值複製一份給了d,c的值並沒有該變。
int c = 10;
int d = c;
d = 20;
Console.WriteLine(c);
Console.WriteLine(a[0]);
//裝箱
//將值類型轉化爲引用類型
int val = 10;
Object obj = val;
Console.WriteLine("obj=" + val);
//拆箱操作
int val2 = 100;
Object obj2 = val2;
int s=(int)obj2;
Console.WriteLine(s);
Console.ReadLine();
}
}
}