C#的 checked 语句是怎么实现的

很多初学者喜欢问,VB.NETt跟C#有什么不同。这里不是要讨论这个问题,不过有一个不同点往往被人们忽略了,就是C#默认是unchecked的,VB.NET默认是checked的。从设计者的偏重可以看出,C#相对速度更快,VB.NET相对更见安全。

C#是怎么实现unchecked功能的?其实IL并有没有checked跟uncheked的命令,而是加、减、乘、跟、类型转换 的指令都有两套,对应overflow跟非overflow版本(注意没有除)

checked指令有:

add.ovf、sub.ovf 、mul.ovf、conv.ovf

unchecked指令有:

add、sub 、mul、conv

就是checked { } 模块下,都是用带.ovf的指令。默认模块即unchecked{ }模块下不使用带.vof的指令。

技术讨论的QQ群: 2514097 或 10987609

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值