网页设计 加入小组

2个成员 62个话题 创建时间:2014-10-20

网页设计教程:数据类型之框架处理

发表于 2014-11-21 624 次查看

网页设计教程:数据类型之框架处理

数据类型很多种,咱们一点点的记住,消化掉,以后的学习就轻松很多,下面继续由51RGB小编Q群162542073来分享这些网页设计中的数据类型:

4.3 加框和消框

这一章的课程中,我已经给出了各式各样的值类型和引用类型。由于速度的原因,你会使用值类型——它们只是占据一定的内存块。但是,有时对象的方便性就象值类型一样好用。

加框和消框,C#类型系统的核心概念,这时闪亮登场了。通过允许一个值类型转换成类型对象或从类型对象转换成值类型,这种机制形成了值类型和引用类型之间的捆绑连接。任何东西终究是一个对象——但是,这只是在需要它们作为对象时。

4.3.1 加框转换

给一个值加框指隐式地把任何值类型转换成类型对象。当一个值类型被加框时,一个对象实例就被分配,且值类型的值被拷贝给新的对象。

看以下例子:

int nFunny = 2000;

object oFunny = nFunny;

第二行的赋值暗示调用一个加框操作。nFunny整型变量的值被拷贝给oFunny对象。现在整型变量和对象变量都同时存在于栈中,但对象的值居留在堆中。

那么,它暗示着什么呢? 它们的值互相独立——在它们之间没有连接。(oFunny没有引用nFunny的值。) 以下代码说明了结果:

int nFunny = 2000;

object oFunny = nFunny;

oFunny = 2001;

Console.WriteLine("{0} {1}", nFunny, oFunny);

当代码改变oFunny的值时,nFunny的值并没有改变。只要你脑袋中有这个copy动作,就能够使用值类型的对象功能,发挥出你的巨大优势!

4.3.2 消框转换

和加框相比,消框是显式操作——必须告诉编译器,你想从对象中抽取出哪一种值类型。当执行消框操作时,C#检测所请求的值类型实际上存储在对象实例中。经过成功的确认,该值被消框。

这就是消框如何执行:

int nFunny = 2000;

object oFunny = nFunny;

int nNotSoFunny = (int)oFunny;

如果错误地请求一个double值

double nNotSoFunny = (double)oFunny;

通用语言运行时(Common Language Runtime,简写CLR)将会引发一个InvalidCastException异常。你可以在第7章 "异常处理" 中学到更多有关异常处理的知识。


4.4 小结

在这一章中,你学到了C#中用到的各种类型。简单的值类型包括整型、布尔型、浮点型和小数型。你会十分经常地用到一些类型,进行数学和金融的计算,以及逻辑表达。

在介绍引用类型之前,我显示了一个看起来象类的结构类型。它几乎就象一个类那样运作,但它只是一个值类型,这使它更加适合需要有大量的小对象的场合。

引用类型起始于所有对象之母的objedt本身。object是C#中所有对象的基类,且它同样用于值类型的加框和消框。除此之外,我还让你领略了代表元、字符串和数组。

令C#程序员十分神气的类型就是类。它是C#面向对象编程的心脏,下一章整章专门让你迅速理解这个激动人心且功能强大的类型。

 

51RGB在线教育官网指定学习Q162542073 更多免费教程,素材,源文件等,请前往www.51rgb.com


责任声明:本套系列教程视频版权所属51rgbg官网,任何团体和个人未经本网允许不得转载,违者必究。

网页设计视频网站链接http://www.51rgb.com/mproductzh.aspx?classid=31

51RGB网络营销教程       http://www.51rgb.com/mproductzh.aspx?classid=38
更多视频教程请前往51rgb官网  http://www.51rgb.com

 

豆瓣 网站网页设计小组

http://www.douban.com/group/520499/

 奋斗的新浪博客

http://blog.sina.com.cn/u/1748316330

帆的QQ空间

http://user.qzone.qq.com/113125174/main

风生水起博客

http://fengshengshuiqi06.blog.163.com/manage/#m=0&t=0

网页设计教程

发表回复
功能维护升级中,维护完成完后将再次开放,非常抱歉给您学习造成的不便。
话题作者
51RGB教育
头衔:
活跃成员