Visual Studio 2010——C#中的装箱拆箱操作与Object类型
2013-03-29 11:21
573 查看
实验环境:Windows XP,Visual Studio 2010 Ultimate
1 创建项目
文件>>新建>>项目,选中“控制台应用程序”,如下图所示:
2 添加代码如所示意。
3 调试
单击菜单栏的“调试”|“启动调试”,结果如下图。
4 工程源码。点击这里下载。
参考资料
《C#实用编程百例》,清华大学出版社,何鹏飞,王征等 编著
《C#程序设计——基础教程与实验指导》——清华大学出版社,孙晓非 牛小平 冯冠 李乃文 编著
《C#程序设计与案例教程》,清华大学出版社,杨树林,胡洁萍 编著
1 创建项目
文件>>新建>>项目,选中“控制台应用程序”,如下图所示:
2 添加代码如所示意。
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace testBoxingApp { class Program { static void Main(string[] args) { short i = 1; object ObjectOne = i;//装箱,隐式类型转换 Console.WriteLine("{0} Boxing to object:{1}",ObjectOne.GetType(), ObjectOne); short j; j = (short)ObjectOne;//拆箱,显式类型转换 Console.WriteLine("object Unboxing to short:{0}",j); //错误拆箱(一) try { int k; k = (int)ObjectOne; //不能将short箱拆为int Console.WriteLine("object Unboxing to int:{0}", k); } catch (InvalidCastException ex) { Console.WriteLine(ex.Message); } //错误拆箱(二) object ObjectTwo = new Class2(); try { short m; m = (short)ObjectTwo;//不能将Class2拆为short Console.WriteLine("object Unboxing to short:{0}", m); } catch (InvalidCastException ex) { Console.WriteLine(ex.Message); } //object和引用类型进行类型转换 Class2 aRef; aRef = (Class2)ObjectTwo; Console.WriteLine(aRef.s); } } //自定义一个类 class Class2 { public short s; public Class2() { Console.WriteLine("A Class2 Object !"); s = 10; } } }
3 调试
单击菜单栏的“调试”|“启动调试”,结果如下图。
4 工程源码。点击这里下载。
参考资料
《C#实用编程百例》,清华大学出版社,何鹏飞,王征等 编著
《C#程序设计——基础教程与实验指导》——清华大学出版社,孙晓非 牛小平 冯冠 李乃文 编著
《C#程序设计与案例教程》,清华大学出版社,杨树林,胡洁萍 编著
相关文章推荐
- C#基础知识--引用类型和值类型/装箱和拆箱操作
- C#值类型与引用类型,装箱与拆箱操作
- 栈和托管堆/值类型和引用类型/强制类型转换/装箱和拆箱[C#] - [IT]
- C#中为什么需要装箱拆箱操作?
- 总结:CLR Via C#(第五章):值类型与引用类型——装箱和拆箱
- C#基础知识系列二(值类型和引用类型、可空类型、堆和栈、装箱和拆箱)
- C#实现装箱与拆箱操作简单实例
- C#语言学习--基础部分(十二) --堆,栈,装箱,拆箱,安全数据类型转换:as, is
- 深入C#内存管理来分析 值类型、引用类型、装箱、拆箱、堆栈几个概念组合
- .NET(C#):理解值类型/引用类型,装箱/拆箱,Object类
- 深入C#内存管理来分析值类型&引用类型,装箱&拆箱,堆栈几个概念组合之间的区别
- 了解c#中 值类型/引用类型,装箱/拆箱,Object类
- C# 与 C++强强联合 ,深入C#内存管理来分析 值类型、引用类型、装箱、拆箱、堆栈几个概念组合
- 09 C# 第八章 值类型 ------ 装箱操作和枚举的使用
- 黑马程序员——C#枚举 结构体 this关键字 base关键字 值类型 引用类型 装箱和拆箱
- 深入C#内存管理来分析 值类型、引用类型、装箱、拆箱、堆栈几个概念
- C#值类型的装箱与拆箱
- [C# Tips]再谈值类型的装箱和拆箱
- C#基础知识系列二(值类型和引用类型、可空类型、堆和栈、装箱和拆箱)
- 深入C#内存管理来分析值类型&引用类型,装箱&拆箱,堆栈几个概念组合之间的区别