当前位置: 首页 > news >正文

php建设图书网站代码网站开发需要哪些资料

php建设图书网站代码,网站开发需要哪些资料,wordpress php speedy,2016国外网站设计欣赏文章目录 17.1 什么是转换17.2 隐式转换17.3 显示转换和强制转换17.4 转换的类型17.5 数字的转换17.5.1 隐式数字转换17.5.2 溢出检测上下文17.5.3 显示数字转换 17.6 引用转换17.6.1 隐式引用转换17.6.2 显式引用转换17.6.3 有效显式引用转换 17.7 装箱转换17.7.1 装箱是创建副… 文章目录 17.1 什么是转换17.2 隐式转换17.3 显示转换和强制转换17.4 转换的类型17.5 数字的转换17.5.1 隐式数字转换17.5.2 溢出检测上下文17.5.3 显示数字转换 17.6 引用转换17.6.1 隐式引用转换17.6.2 显式引用转换17.6.3 有效显式引用转换 17.7 装箱转换17.7.1 装箱是创建副本17.7.2 装箱转换 17.8 拆箱转换17.9 用户自定义转换17.9.1 用户自定义转换的约束17.9.2 用户自定义转换的示例17.9.3 评估用户自定义转换17.9.4 多步用户自定义转换的示例 17.10 is 运算符17.11 as 运算符 17.1 什么是转换 转换是接受一个类型的值并将它用作另一个类型的等价值的过程。转换后的值应和原值一样但其类型为目标类型。 17.2 隐式转换 隐式转换不会丢失数据或精度C# 会自动做这些转换。 从位数更少的源类型转换为位数更多的目标类型时目标中多出来的位需要用 0 或 1 填充。 对于无符号类型目标类型多出来的最高位都用 0 来进行填充称为零扩展。 图17.1 无符号转换中的零扩展 对于有符号类型额外的最高位用源表达式的符号位进行填充称为符号扩展。 图17.2 有符号转换中的符号扩展 C# 没有无符号扩展。 17.3 显示转换和强制转换 ​ C# 不会提供会造成值丢失的自动转换。此时需要使用强制转换表达式这称为显示转换。 一对圆括号里面是目标类型。圆括号后面是源表达式。 ​ 使用强制转换表达式需要承担可能引起的丢失数据的后果。 图17.3 强制转换 ushort 为 byte 17.4 转换的类型 除了标准转换还可以为自定义类型定义隐式转换和显示转换。有一个预定义的转换类型称为装箱可以将任何值类型转换为 object 类型。System.ValueType 类型。 拆箱可以将一个装箱的值转换为原始类型。 图17.4 转换的类型 17.5 数字的转换 ​ 数字类型可以相互转换但有些转换必须是显式的。 图17.5 数字转换 17.5.1 隐式数字转换 箭头方向表示存在从源类型到目标类型的隐式转换。若没有沿着箭头方向的路径则该类型转换必须是显式的。 图17.6 隐式数字转换 17.5.2 溢出检测上下文 ​ 使用 checked 运算符或 checked 语句检测类型转换是否溢出。 代码片段是否被检查称作溢出检测上下文。 如果指定一个表达式或一个代码为 checkedCLR 会在转换产生溢出时抛出 OverflowException 异常。如果代码不是 checked转换会继续不论是否产生溢出。 默认的溢出检测上下文是不检查。 1checked 和 unchecked 运算符 在 unchecked 上下文中会忽略溢出结果值为 208。在 checked 上下文中抛出了 OverflowException 异常。 2checked 语句和 unchecked 语句 ​ checked 和 unchecked 控制的是一块代码中的所有转换而不是单个表达式。 17.5.3 显示数字转换 图17.7 显式数字转换 1整数类型到整数类型 ​ 如果转换会丢失数据 checked 时则抛出 OverflowException 异常。unckecked 时丢失的位不会发出警告。 图17.8 整数到整数的显示转换 2float 或 double 转到整数类型 ​ 如果转换会丢失数据舍掉小数截断为最接近的整数。 checked 时则抛出 OverflowException 异常。unckecked 时C# 将不定义其值是什么。 图17.9 转换 float 或 double 为整数类型 3decimal 到整数类型 ​ 如果结果值不在目标类型的范围内则 CLR 会抛出 OverflowException 异常。 图17.10 转换 decimal 到整数 4double 到 float ​ double 被舍入到最接近的 float 值 值太小则被设为 0 或 -0。值太大则被设为 ∞ 或 -∞。 图17.11 转换 double 到 float 5float 或 double 到 decimal 值太小则被设为 0。值太大则抛出 OverflowException 异常。 图17.12 转换 float 或 double 到 decimal 6decimal 到 float 或 double ​ 总是会成功但可能会损失精度。 图17.13 转换 decimal 到 float 或 double 17.6 引用转换 ​ 引用类型对象由内存中的两部分组成引用和数据。 ​ 引用转换接受源引用并返回指向堆中同一位置的引用但是将引用“标记”为其他类型。 对于 myVar1引用对象看上去是类型 B 的对象实际上就是。对于 myVar2同样的对象看上去像类型 A。 图17.14 引用转换返回与对象关联的不同类型 17.6.1 隐式引用转换 所有引用类型可以被隐式转换为 object 类型。任何接口可以隐式转换为其继承的接口。类可以隐式转换为 继承链中的任何类。实现的任何接口。 图17.15 类和接口的隐式转换 委托可以隐式转换为 .NET BCL 类和接口。ArrayS 数组元素类型为 Ts可以隐式转换为 .NET BCL 类和接口。另一个满足如下条件的数组 ArrayT元素类型为 Tt 数组维度和 ArrayS 相同。Ts 和 Tt 都是引用类型。Ts 能隐式转换为 Tt。 图17.16 委托和数组的隐式转换 17.6.2 显式引用转换 ​ 显式引用转换是从普通类型到更精确类型的引用转换包括 从 object 到任何引用类型的转换。从基类到派生类的转换。 ​ 例如将基类 A 的引用转换到派生类 B并赋值给变量 myVar2. 如果 myVar2 尝试访问 Field2将会导致内存错误。这种不正确的强制转换会在运行时抛出 InvalidCastException 异常但不会导致编译错误。 图17.17 无效的转换抛出运行时异常 17.6.3 有效显式引用转换 ​ 以下 3 种显示转换能够成功进行 显示转换没有必要。 即已经发生了隐式转换。 源引用为 null。 尽管这样的类型转换通常不安全但 C# 还是允许的。 源引用指向的实际数据可以安全地进行隐式转换。 myVar2 看上去指向类型 A 的数据但实际上指向的是类型 B。 图17.18 强制转换到安全类型 17.7 装箱转换 ​ 装箱是一种隐式转换接受值类型在堆上创建一个完整的引用类型对象并返回其引用。 ​ 常见的装箱场景是将值类型当做参数传递给方法但参数类型时对象的数据类型装箱过程具体如下 在堆上创建 int 类型对象。将 i 的值复制给 int 对象。返回 int 对象的引用 oi。 图17.19 装箱从值类型穿件了完整的引用类型 17.7.1 装箱是创建副本 ​ 装箱返回的是值的引用类型副本。即装箱之后值有两份副本——原始值类型和引用类型副本每一个都可以独立操作。 图17.20 装箱创建了一份可以被独立操作的副本 17.7.2 装箱转换 ​ 任何值类型 ValueTypeS 都可以被隐式转换为 object、System.ValueType 或 InferfaceT 类型如果 ValueTypeS 实现了 InferfaceT。 图17.21 装箱是值类型到引用类型的隐式转换 17.8 拆箱转换 拆箱是显式转换。系统在把值拆箱为 ValueTypeT 时执行了如下步骤 检测到要拆箱的对象实际是 ValueTypeT 的装箱值。将对象的值复制到变量。 尝试将一个值拆箱为非原始类型时会抛出 InvalidCastException 异常。 图17.22 拆箱转换 17.9 用户自定义转换 ​ 可以为类和结构定义隐式和显式转换。 需要 public 和 static 修饰符。implicit 和 explicit 分别表示隐式和显式转换。 17.9.1 用户自定义转换的约束 只可以为类和结构定义。不能重定义标准隐式或显式转换。对于源类型 S 和目标类型 T S 和 T 类型不能相同。S 和 T 不能有继承关系。S 和 T 不能同时为接口或 object。转换运算符必须定义在 S 或 T 类型的内部。不能同时声明隐式转换和显式转换。 17.9.2 用户自定义转换的示例 ​ 隐式转换示例 ​ 若使用显式转换则需要 17.9.3 评估用户自定义转换 图17.23 单步用户自定义转换 ​ 完整转换中最多可以有 3 个步骤 预备标准转换。用户自定义转换。后续标准转换。 ​ 用户自定义转换只能有一次。 图17.24 多步用户自定义转换 17.9.4 多步用户自定义转换的示例 图17.25 从 Employee 转换到 float 17.10 is 运算符 ​ is 运算符用于检查转换是否能成功。 ​ 以下 3 种转换适用于 is 运算符 引用转换。装箱转换。拆箱转换。 ​ ​ is 运算符不能用于用户自定义转换。 17.11 as 运算符 ​ as 运算符和强制转换运算符类似但不会抛出异常转换失败仅返回 null。 ​ as 运算符只能用于引用转换和装箱转换。
http://www.zqtcl.cn/news/683300/

相关文章:

  • 56m做图片视频的网站是什么软件开发和大数据哪个前景好
  • 郑州网站建设哪家做快消品的网站
  • 太原做网站费用东莞it外包
  • 深圳网站关键词优化公司集团网站建
  • 网站建设项目合同传奇手游网站
  • 如何学习网站建设app申请付费网站
  • 微网站开发平台案例重庆网站设计哪家公司好
  • 快递空包网站建设网站的首页怎么做的
  • 青海手机网站建设北京网站建设推荐华网天下
  • 网站网站建设公司孩子学编程网上课程哪家好
  • 跨境电商网站建设方案书江门网页制作
  • 门户网站建设定做如何使用域名访问网站
  • 做网站后台运营这个工作怎么样建设网站销售
  • 两学一做网上答题网站做网站域名是赠送的吗
  • 江苏住房城乡建设厅网站WordPress上传Excel
  • 广州淘宝网站建设济南高新区网站建设
  • 如何注册一个网站长沙的科技公司
  • 温州网络公司网站建设永久免费云linux服务器网页
  • 中国教育网站官网网站建设是半年的持久战
  • 为什么营销型网站比普通网站建站贵常州seo排名收费
  • 商贸公司寮步网站建设极致发烧学网站建设基础
  • 二手汽车手机网站模板四川百度推广排名查询
  • 做火情监控网站需要用什么系统做一个网站多少费用
  • 成都建设网站首页贺州网站建设
  • 硚口区建设局网站海绵宝宝的网页设计html源代码
  • 旅游网站建设合同成年做羞羞的视频网站
  • 海门网站建设制作道德建设 网站
  • 苏州 规划建设局网站网页设计师培训费用图
  • 怎么做视频解析的网站QQ空间可以建设网站吗
  • 视频网站 php源码甘肃 网站建设