任何一门开发语言都需要数据类型作为其基础根本,就如同自然语言中的文字一般,所以想要掌握一门开发语言就要先了解其中的数据类型,接下来我就谈谈我对.NET的数据类型的了解(开发语言以C#为主)。
数据类型
在C#中数据类型主要可以分为值类型、引用类型和指针类型,以下是一个数据类型的归类表:
数据类型默认值
可空类型
用于表示没有值的数值数据,在实际类型的值上加上null,这种语法只对值类型是合法的,语法是只要在值类型关键字上加?后缀。例如:int? nullableInt = 0;
内存分配
值类型的变量是分配在栈上,当变量离开定义域范围就会被内存移除。
引用类型变量则是分配在堆上进行托管,有垃圾回收机制控制。
复制
当ValueType中包含引用类型时,生成2个独立的ValueType的值,但其中的引用类型将生成一个引用的副本,即指向内存中的同一个对象的引用,改变其中一个的值,另一个也会随之改变。
将内部引用的状态完全复制到一个新对象中,需要实现ICloneable接口。
赋值操作
值类型赋值是复制一份副本,2个变量是独立操作的。
引用类型赋值是2个变量是指向托管堆中的同一个对象,改变其中一个变量的值,另一个也会改变。
值类型中包含引用类型时赋值是默认为浅复制。
传递
传递变量的一个数据副本。
类型转换
隐式向上转换,从值范围小的类型向值范围大的类型转换,不会丢失数据。
显示向下转换,从值范围大的类型向值范围小的类型转换
checked
可进行显示的宽化、窄化、字符串解析数值等操作
使用关键字explicit和implicit自定义类型转换。implicit隐式转换运算符更容易使用,但是如果您希望运算符的用户能够意识到正在进行转换,则显式运算符很有用。
标题名称:.NET数据类型概述
网站链接:http://www.mswzjz.cn/qtweb/news15/416265.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能