读书笔记_CLR.via.c#第五章_基元类型_引用类型_值类型
基元类型
1.不管在什么操作系统上c#的int始终代表32位整数。
2.c#中long代表64位。
类型转换
安全转换时,才允许隐式转型。
不安全转换时,为显式转型。
溢出检测方法
控制溢出的一个办法时使用/checked+编译器开关。(检测运算上下溢。)
要检测溢出的地方加;
Checked{
…
}
防止溢出建议
- 尽量使用有符号数值类型(如:Int32和Int64)。
不要使用无符号数值类型(如:UInt32和UInt64)。
- 如果可能发生溢出你不希望溢出的话则放入checked块中(如:无效的输入数据,等)。
- 允许发生溢出的代码显示放到unchecked块中。
引用类型和值类型
1.任何称为"类"的类型都是——引用类型。
2.所有值类型都称为——结构或枚举。
3.一个值类型可以实现一个或多个接口。
4.C#中struct声明的类型是值类型。
5.用class声明的类型为引用类型。
Class声明的为引用类型:在堆上分配,是对指针的修改。
Static声明的为值类型:在栈上分配,是对值的修改。
引用类型:对指针指向的堆中数据进行修改。
值类型:对栈中开辟内存的数据直接修改。
装箱:为了将一个值类型转换成一个引用类型。
拆箱:就是获取一个指针的过程
引用类型
Class声明的为引用类型:在堆上分配,是对指针的修改。
引用类型:对指针指向的堆中数据进行修改。
值类型
Static声明的为值类型:在栈上分配,是对值的修改。
值类型:对栈中开辟内存的数据直接修改。
值类型对象有两种表示形式:未装箱形式和已装箱形式。
值类型的装箱与拆箱
装箱
用意:为了将一个值类型转换成一个引用类型
拆箱
定义:
- 获取已装箱的Point对象中的各个Point字段地址(为拆箱)。
- 将这些字段包含的值从堆中复制到基于栈的值类型实例中。
对象相等性和同一性
对象哈希码
Dynamic
读书笔记_CLR.via.c#第五章_基元类型_引用类型_值类型相关推荐
- 《CLR via C#》读书笔记 之 基元类型、引用类型和值类型
第五章 基元类型.引用类型和值类型 2013-02-27 5.3 值类型的装箱和拆箱 5.3.2 对象的相等性和同一性 参考 ToDo: 什么时候使用值类型,什么时候使用引用类型 5.3 值类 ...
- 第五章 基元类型、引用类型、值类型 CLR学习第五课
一.基元类型:编译器直接支持的数据类型称为基元类型(如int类型其对于的是system.int32). 二.类型溢出,可以用checked 和unchecked进行类型溢出检查和不进行类型溢出检查.一 ...
- 《Real-Time Rendering 4th Edition》读书笔记--简单粗糙翻译 第五章 着色基础 Shading Basics
写在前面的话:因为英语不好,所以看得慢,所以还不如索性按自己的理解简单粗糙翻译一遍,就当是自己的读书笔记了.不对之处甚多,以后理解深刻了,英语好了再回来修改.相信花在本书上的时间和精力是值得的. -- ...
- C语言基础教程读书笔记5.2.(第五章函数和存储类2)
4.作用域规则 标示符只能在说明或对他定义它的函数体或分程序内饰可见的,而在该函数体或分程序外则是不可见的. 举个例子: # include <stdio.h> int main() { ...
- 《java编程思想》读书笔记(二)第五章(2)
成员初始化 Java尽力保证:所有变量在使用前都能得到恰当的初始化. 对于方法的局部变量,Java会以编译时报错的形式贯彻这种保证,比如: 1 void f() 2 { 3 int i; //这里编译 ...
- 第五章 基元类型,引用类型和值类型
目录 5.1 编程语言的基元类型 5.2 引用类型和值类型 5.3 值类型的装箱和拆箱 5.4 对象哈希码 5.5 dynamic基元类型 5.1 编程语言的基元类型 编译器直接支持的数据类型称为基元 ...
- 《.NET框架程序设计》第5章 基元类型、引用类型与值类型
5.1 基元类型 基元类型可以用快捷语法.比如int a=0;等同于System.Int32 a=new System.Int32(); 建议,使用全名,为了代码含义看起来更清晰. 5.1.1 Che ...
- 【读书笔记】.NET本质论第四章-Programming with Type(Part Two)
欢迎阅读本系列其他文章: [读书笔记].NET本质论第一章 The CLR as a Better COM [读书笔记].NET本质论第二章-Components(Part One) [读书笔记].N ...
- 陈宝林《最优化理论与算法》超详细学习笔记 (七)————第五章 运输问题
陈宝林<最优化理论与算法>超详细学习笔记 (七)----第五章 运输问题 第1节 运输问题的数学模型 第2节 表上作业法 2.1 确定初始基可行解 2.2 最优解的判别 2.3 改进的方法 ...
最新文章
- 《企业软件交付:敏捷与高效管理精要》——1.6 结论
- Android Widget 中ListView加载网络图片
- socket通信需要网线连接吗_socket网络编程基础知识篇
- mapreduce阶段出现pending的原因及解决
- MySQL入门第三天(下)——存储过程与存储引擎
- shareplex三点同步配置
- iOS 模拟器设置输入中文
- 巴比特 | 元宇宙每日必读:红杉中国“雇”了一位虚拟员工,自称每秒可看百份商业计划书,期待时薪为0.68元...
- 【ML】从特征分解,奇异值分解到主成分分析
- PHPProxy建立代理服务器
- 【无标题】【光纤光缆小知识】多模光纤的分类及应用
- 腹肌锻炼视频(02):八种基本动作
- ClickHouse 之 FORMAT 应用
- 新特效火爆抖音!各路神仙齐唱《蚂蚁呀嘿》,网友:短短几秒需一生来治愈
- Glide加载常用类型图片(带白色边框的圆形图、圆角矩形图片、圆形图片)
- 带有图片的Excel信息导入
- 工作进度跟踪表excel_在Excel中跟踪时间
- ESP8266 AP模式热点
- 关于naked (C++)
- RT-Thread 软件定时器(学习笔记)
热门文章
- 相较神经网络,大名鼎鼎的傅里叶变换,为何没有一统函数逼近器?
- 北京/上海内推 | 字节跳动AI Lab招聘NLP算法模型优化方向实习生
- BERT原理、代码、相关模型、精调技巧,看这个就够了
- MixPath:基于权重共享的神经网络搜索统一方法
- 线下沙龙 × 上海 | 小身材大能量!用英伟达智能小车Jetbot玩转深度学习
- 第三期CSIG图像图形学科前沿讲习班-详细日程
- access找不到输入表或者dual_数据表dual表的用途是什么?
- 【Java代码】Java版本的NGender根据中文姓名猜测其性别及男性化/女性化程度(Python版本地址+Java版本源码+基础数据)
- 【Java代码】京东商品全部分类数据获取(建表语句+Jar包依赖+树结构封装+爬虫源代码)包含csv和sql格式数据下载可用
- python中统计单词出现的次数_python统计文章中单词出现次数实例