1. 程式人生 > >關於C#的裝箱和拆箱的簡單測試例子

關於C#的裝箱和拆箱的簡單測試例子

 int i = 0;
        //裝箱
        object obj = i;
        Debug.Log(i);
        Debug.Log(obj);
        i = 10;
        Debug.Log(i);
        Debug.Log(obj);


        //拆箱
        object obj2 = 5;
        int i2 = (int)obj2;
        Debug.Log(i2);
        Debug.Log(obj2);
        obj2 = 20;
        Debug.Log(i2);

        Debug.Log(obj2);

//最終的輸出


所以改動之後,無論是值的還是引用的型別,都不會再受到之前的賦值的型別的變化而變化

相關推薦

C# 裝箱[整理]

collect 調用 原理 本質 reger truct 以及 gree gre 1、 裝箱和拆箱是一個抽象的概念 2、 裝箱是將值類型轉換為引用類型 ;拆箱是將引用類型轉換為值類型 利用裝箱和拆箱功能,可通過允許值類型的任何值與O

C# 裝箱[整理](轉)

reger 循環 賦值 c# 通用 不出 mem 功能 數據的操作 //1、 // 裝箱和拆箱是一個抽象的概念 //2、 // 裝箱是將值類型轉換為引用類型 ;拆箱是將引用類型轉換為值類型 // 利用裝箱和拆箱功能,可通過允許值類型的任何值

C# 裝箱

什麽 tel 強制 AS 引用類型 bsp 對象 過程 tex 什麽是裝箱和拆箱? 是值類型和對象之間進行轉換時,CLR必須執行裝箱和取消裝箱的過程。 裝箱 值類型 => 引用類型 int a = 1; object obj = a; Console.W

C#裝箱

net type tro nbsp 繼承 不一致 使用 sys 原因 C#裝箱和拆箱詳解 .net裝箱和拆箱是.net framework框架模型了值類型和引用類型之間的轉換發的過程, 值類型和引用類型之間可以轉換的原因是值類

Objective-C(裝箱)

概述  從前面的博文我們也可以看到,陣列和字典中只能儲存物件型別,其他基本型別和結構體是沒有辦法放到陣列和字典中的,當然你也是無法給它們傳送訊息的也就是說有些NSObject的方法是無法呼叫的,這個時候通常會用到裝箱boxing和拆箱unboxing。 其實各種高階語言基本上都有裝箱和拆 箱的過

ios學習路線—Objective-C(裝箱)

概述 從前面的博文我們也可以看到,陣列和字典中只能儲存物件型別,其他基本型別和結構體是沒有辦法放到陣列和字典中的,當然你也是無法給它們傳送訊息的也就是說有些NSObject的方法是無法呼叫的,這個時候通常會用到裝箱boxing和拆箱unboxing。 其實各種高階語言基本上都有裝箱和拆 箱的過程,

objective-c 裝箱

NSNumber: 1、裝箱 + (NSNumber*) numberWitChar: (char) value; + (NSNumber*) numberWithInt: (char) value; + (NSNumber*) numberWithFloat: (floa

淺談C# 裝箱

1、什麼是裝箱和拆箱? 簡單的來說: 裝箱就是值型別轉換為引用型別;拆箱就是引用型別轉換為值型別 值型別,包括原型別(Sbyte、Byte、Short、Ushort、Int、Uint、Long、Ulong、Char、Float、Double、Bool、Decimal

C#裝箱簡單理解(個人筆記)

簡例: int i  = 1; //值型別  object obj = i; //引用型別 這是一個裝箱的過程,是將值型別轉換為引用型別的過程 int i =1; object obj = i; int x = (int)obj; //轉換int型別賦值給x 這

裝箱的一個例子

public static void main(String[] args) { Integer t1 = 100; Integer t2 = 100; Integer t3 = 200; Integer t4 = 200; System.out.println((t1 ==

C#裝箱(Boxing UnBoxing)

1、什麼是裝箱和拆箱? 簡單來說:      裝箱是將值型別轉換為引用型別 ;拆箱是將引用型別轉換為值型別。(網上廣為流傳) C#中值型別和引用型別的最終基類都是Object型別(它本身是一個引用型別)。也就是說,值型別也可以當做引用型別來處理。而這種機制的底層處理就是通過

關於C#的裝箱簡單測試例子

 int i = 0;         //裝箱         object obj = i;         Debug.Log(i);         Debug.Log(obj);         i = 10;         Debug.Log(i);    

[DotNet]深入理解C#的裝箱

csharp 簡單 部分 nbsp pre 需要 避免 兩個 value 裝箱和拆箱是值類型和引用類型之間相互轉換是要執行的操作。 1. 裝箱在值類型向引用類型轉換時發生 2. 拆箱在引用類型向值類型轉換時發生 光上述兩句話不難理解,但是往深處了解,就需要一些篇幅來

c#的裝箱及值類型引用類型

int 什麽 容易 將在 shc 表達 需要 code 引用 裝箱:它允許根據值類型創建一個對象,然後使用對這新對象的一個引用。 int i = 5; object o = i; int j = (int)o; 裝箱:運行時將在堆上創建一個包含值5的對象(它是一個普通對象)

CLR via C#學習筆記-第五章-值類型的裝箱

總結 一行 other 對象的引用 返回對象 line 集合類 args math 5.3 值類型的裝箱和拆箱 裝箱 值類型比引用類型“輕”,原因是他們不作為對象在托管堆中分配,不被垃圾回收,也不通過指針進行引用。 但許多時候都需要獲取對值類型實例的引用。例如,假定要創建A

深入理解C#的裝箱

裝箱和拆箱是值型別和引用型別之間相互轉換是要執行的操作。  1. 裝箱在值型別向引用型別轉換時發生 2. 拆箱在引用型別向值型別轉換時發生 光上述兩句話不難理解,但是往深處瞭解,就需要一些篇幅來解釋了。 我們先看裝箱時都會發生什麼事情,下面是一行最簡單的裝箱程式碼

再談C#的裝箱

上一篇寫了一下裝箱拆箱的定義和IL分析,這一篇我們看下使用泛型和不使用泛型引發裝箱拆箱的情況 1. 使用非泛型集合時引發的裝箱和拆箱操作  看下面的一段程式碼: var array = new ArrayList(); array.Ad

深入理解C#的裝箱、使用非泛型集合時引發的裝箱操作

裝箱和拆箱是值型別和引用型別之間相互轉換是要執行的操作。  1. 裝箱在值型別向引用型別轉換時發生 2. 拆箱在引用型別向值型別轉換時發生 光上述兩句話不難理解,但是往深處瞭解,就需要一些篇幅來解釋了。 我們先看裝箱時都會發生什麼事情,下面是一行最簡單的裝箱程式碼

C#中的裝箱

1、什麼是裝箱和拆箱? 簡單的來說: 裝箱就是值型別轉換為引用型別;拆箱就是引用型別轉換為值型別 值型別,包括原型別(Sbyte、Byte、Short、Ushort、Int、Uint、Long、Ulong、Char、Float、Double、Bool、Decimal)、列舉

C#之裝箱

簡介:         我們都知道,C#中的每一種型別要麼是值型別,要麼是引用型別。所以每個物件要麼是值型別的例項,要麼是引用型別的例項。      值型別和引用型別之間的轉換稱為裝箱和拆箱。