using system;
namespace 拆箱裝箱
//class是引用型別,在託管堆上分配記憶體
//int32和int是相同的,在clr中int就是32位的,不會因為32位或64位系統而改變。
struct someval
static void main(string args)
}}
using system;
namespace 裝箱與拆箱1
}}//clr via c# p117
using system;
using system.diagnostics;
namespace 裝箱與拆箱2
,,", a, b, c);//三次裝箱
st.stop();
console.writeline(st.elapsedmilliseconds);//消耗的時間為500ms
*/st.start();
string s1 = a.tostring();
string s2 = b.tostring();
string s3 = c.tostring();
for (int i = 0; i < 10000; i++)
console.writeline(s1+s2+s3);
st.stop();
console.writeline(st.elapsedmilliseconds);//消耗的時間為450ms
console.readline();
/*理論上說第一次消耗的資源時間比第二次多,測試中也可以大致看出時間確實減少了*/}}
}
裝箱與拆箱
總結來說 裝箱就是將值型別轉化成引用型別,拆箱就是就是將引用型別轉化成值型別 裝箱 int n 10 string s n.tostring 這個不是裝箱。string與int是完全不同的兩種型別,沒有父子類關係,所以不可能發生裝箱和拆箱,因為本身就不具備型別直接轉換的功能。console.writ...
裝箱與拆箱
public class integertest 執行結果 false true 解釋 integer.class 建立快取陣列 private static class integercache static final integer cache new integer 128 127 1 st...
拆箱與裝箱
裝箱 把基本型別的資料,包裝到包裝類中 基本資料型別資料 包裝類 構造方法 integer int value 構造乙個新分配的integer物件,他表示指定的int值。integer string s 構造乙個新分配的integer物件,他表示string引數所指示的int值。傳遞的字串必須是基本...