写此文章的目的在于不断的收集,收全C#中的装箱拆箱的全部问题,希望看到此文的人也提供一些此方面的例子。
首先,说一下装箱和拆箱。
首先,说一下装箱和拆箱。
在.net中的通用类型系统(Common Type system,CTS)中,所有类型都是对象(object),都派生自System.Object。CTS支持两组类型:值类型和引用类型。如果变量是 值类型那么这个变量就包含实际的数据。也就是在内存中确实会分配那么一部分空间给这个变量并存储值,引用类型就类似一个类型安全的指针,本身并没有开辟内 存空间去存储东西。这玩意是基础,罗嗦的重复一下。
而装箱(box)就是将值类型转换为引用类型的过程。相反的过程就叫拆箱(unbox)。
介绍一下查看MSIL的反汇编工具, .net 提供的工具ILDASM.exe, 利用此工具有助于更加直观的了解.net底层机制。
下面列举一下案例,
案例1.
int i = 13;
object ob = i;
Console.WriteLine(i + "," + (Int32)ob);
这里做了几次装箱和拆箱操作了?
介绍一下查看MSIL的反汇编工具, .net 提供的工具ILDASM.exe, 利用此工具有助于更加直观的了解.net底层机制。
下面列举一下案例,
案例1.
int i = 13;
object ob = i;
Console.WriteLine(i + "," + (Int32)ob);
这里做了几次装箱和拆箱操作了?