怎么概述.NET 数据类型,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

目前创新互联建站已为近千家的企业提供了网站建设、域名、虚拟主机、网站托管、企业网站设计、灵寿网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
任何一门开发语言都需要数据类型作为其基础根本,就如同自然语言中的文字一般,所以想要掌握一门开发语言就要先了解其中的数据类型,接下来我就谈谈我对.NET的数据类型的了解(开发语言以C#为主)。
数据类型
在C#中数据类型主要可以分为值类型、引用类型和指针类型,以下是一个数据类型的归类表:
- ValueType 
- 底层存储:byte、short、int(默认)、long 
- 结构:BigInteger 
- 关键字:char 
- 值范围:一个Unicode字符,存储0~65535之间的整数 
- 关键字:bool 
- 值范围:True或False 
- sbyte:-128~127 
- byte:0~255 
- short:-32768~32767 
- ushort:0~65535 
- int:-2147483648~2147483647 
- uint:0~4294967295 
- long:-9223372036854775808~9223372036854775807 
- ulong:0~18446744073709551615 
- float:1.5*10^-45~3.4*10^38 
- double:5*10^-324~1.7*10^308 
- decimal:1*10^-28~7.9*10^2 
- 数值数据 
- Boolean 
- Char 
- DateTime和TimeSpan 
- Numerics 
- 枚举 
- 结构 
- 引用类型 
- Class 类 
- Interface 接口 
- Dynamic 
- Object 超级父类 
- String 字符串 
- Delegate 委托 
- Array 数组 
- 指针类型 
数据类型默认值
- 数值数据:0 
- Boolean:false 
- Char:单个空字符 
- DateTime和TimeSpan:1/1/0001 12:00:00 AM 
- Numerics:0 
- 引用类型:null 
可空类型
用于表示没有值的数值数据,在实际类型的值上加上null,这种语法只对值类型是合法的,语法是只要在值类型关键字上加?后缀。例如:int? nullableInt = 0;
内存分配
值类型的变量是分配在栈上,当变量离开定义域范围就会被内存移除。
引用类型变量则是分配在堆上进行托管,有垃圾回收机制控制。
复制
- 浅复制 
当ValueType中包含引用类型时,生成2个独立的ValueType的值,但其中的引用类型将生成一个引用的副本,即指向内存中的同一个对象的引用,改变其中一个的值,另一个也会随之改变。
- 深复制 
将内部引用的状态完全复制到一个新对象中,需要实现ICloneable接口。
赋值操作
值类型赋值是复制一份副本,2个变量是独立操作的。
引用类型赋值是2个变量是指向托管堆中的同一个对象,改变其中一个变量的值,另一个也会改变。
值类型中包含引用类型时赋值是默认为浅复制。
传递
- 值类型 
- 按值传递 
传递变量的一个数据副本。
- 引用类型 
- 按值传递 复制了指向调用者对象的引用,可以改变对象的状态数据,但是不能引用重新赋值一个新对象 
- 按引用传递 可以改变对象的状态数据,也可以改变引用在内存中的指向,把引用重新赋值一个新的对象 
类型转换
- 隐式转换 
- 宽化 
隐式向上转换,从值范围小的类型向值范围大的类型转换,不会丢失数据。
- 显示转换 
- 强制类型转换 
- 窄化 
显示向下转换,从值范围大的类型向值范围小的类型转换
- 溢出检测(默认不检测) 
- VS->项目属性->生成->高级->检测运算上下溢 
- unchecked 
- checked 
- 代码级检测 
- 项目级检测 
- Convert命令 
可进行显示的宽化、窄化、字符串解析数值等操作
- 自定义类型转换 
使用关键字explicit和implicit自定义类型转换。implicit隐式转换运算符更容易使用,但是如果您希望运算符的用户能够意识到正在进行转换,则显式运算符很有用。
看完上述内容,你们掌握怎么概述.NET 数据类型的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
新闻名称:怎么概述.NET数据类型
当前地址:http://www.scyingshan.cn/article/jcshsj.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 