C#语法中checked、unchecked溢出检查如何使用

在C#语法中,溢出凡是有两种处置体例,第一种是在界说的时辰直接赋值跨越规模的值,这个时辰编译器就能查抄出来。第二种就是利用checked,在界说的时辰没有溢出,后续计较的时辰溢出了,那么,程序就会报错。

东西/原料

  • visual studio

方式/步调

  1. 1

    打开visual studio,建立一个节制台应用程序,用于演示C#语法中的checked查抄溢出,和unchecked不查抄溢出的利用。在Main方式中,界说一个byte类型的变量,直接赋值256,因为byte的规模是0到255,所以,编译器直接报错

  2. 2

    点窜byte类型变量的初始值为255,然后,在后续代码中让其自增1,这个时辰理论上值到了256,可是,现实运行成果倒是0,跟预期的成果纷歧样,导致后续呈现异常时,排盘问题较难

  3. 3

    在vs中,调试运行代码,可以在节制台窗口中看到运行的成果为0,不是256。可是,整个运行过程中也没有报错

  4. 4

    若是想要避免呈现这样既不报错,也不是预期成果的环境,就可以利用checked关头字包裹这段代码,这样,在运行时,发现溢出,就会报错

  5. 5

    继续在vs中,调试代码,就会发现呈现了:System.OverflowException:“算术运算导致溢出”的错误。这样就能避免不报错,成果也不合适预期的环境

  6. 6

    假设,某些环境下,就是不但愿对溢出进行查抄,这个时辰就可以利用unchecked关头字,包裹不进行溢出查抄的代码段

  7. 7

    再次在vs中调试,会发现,这一次没有溢出的错误了。可是,其实数据仍是溢出了。是以,现实项目中,碰到溢出的时辰,可以改换为规模更大的数据类型

  • 发表于 2019-05-16 23:40
  • 阅读 ( 715 )
  • 分类:其他类型

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

推荐文章

联系我们:uytrv@hotmail.com 问答工具