.Net框架程序设计-读书笔记(第五章 基元类型、引用类型和值类型)

本文介绍了.NET框架中的基元类型、引用类型和值类型的概念及特点。基元类型包括编译器直接支持的类型,如整型、浮点型等。引用类型和值类型在内存分配、初始化、赋值等方面有显著区别。引用类型实例在托管堆上分配,值类型通常在堆栈上分配。装箱和拆箱是值类型与引用类型之间的转换过程,涉及内存拷贝和指针操作。值类型不可有抽象方法,且在赋值时会进行字段拷贝,而引用类型赋值拷贝内存地址。
摘要由CSDN通过智能技术生成
1. 基元类型、引用类型和值类型
1.1. 基元类型
编译器直接支持的类型称为基元类型(primitive type)。基元类型和.NET框架类库中的类型有直接的映射关系。
1)        编译器能够在基元类型之间进行隐式或者显式的转型;
2)        基元类型能够以文本常量(literals)的形式出现;
3)        如果表达式中含有文本常量,编译器能够在编译时计算该表达式,以提高代码性能;
4)        编译器会自动解析出现在代码中的操作符;
CLR只在32位和64位值上进行算术运算。C和C++不把溢出认为是一种错误,并且允许对发生溢出的值做绕回(wrap)处理。而VB则把溢出视为一种错误。CLR提供IL指令允许编译器选择自己期望的行为。C#允许开发人员自己决定应该如何处理溢出。
1)        CLR提供一类指令,在执行运算时做溢出检查;
2)        C#编译器使用/checked+命令开关,checked和unchecked操作符,checked和unchecked语句,来执行溢出检查;
3)        checked、unchecked操作符和语句都不会影响其中调用方法的行为;
Decimal是一种非常特殊的类型,CLR没有直接操作Decimal值的IL指令。
1.2. 引用类型和值类型
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、下4载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、下4载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值