裝箱:值類型-->引用類型。 拆箱:引用類型-->值類型 裝箱:把值類型拷貝一份到堆里。反之拆箱。 具有父子關係 是拆裝箱的條件之一。 所以: 裝的什麼類型,拆的時候也必須是對應類型。 使用方法時看是否裝拆箱:看需要的參數和傳入的參數的集體類型。 使用泛型集合避免裝拆箱。 ...
裝箱:值類型-->引用類型。
拆箱:引用類型-->值類型
裝箱:把值類型拷貝一份到堆里。反之拆箱。
具有父子關係 是拆裝箱的條件之一。
所以:
class Program { static void Main(string[] args) { //不是裝拆箱 (類型轉換) int n = 100; string s = Convert.ToString(n); //根據值在堆里創建,不是複製 int m = int.Parse(s); //是裝拆箱 int x = 100; object o = x; int y = (int)o; } }
裝的什麼類型,拆的時候也必須是對應類型。
使用方法時看是否裝拆箱:看需要的參數和傳入的參數的集體類型。
使用泛型集合避免裝拆箱。