A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 熊薇 中级黑马   /  2013-4-15 16:59  /  1828 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 熊薇 于 2013-4-18 16:53 编辑
  1. enum Orientation : byte
  2. {
  3. north = 1,
  4. south,
  5. east,
  6. west
  7. }
  8. static void Main(string[] args)
  9. {
  10. Orientation myDirection;
  11. for (byte myByte = 2; myByte < 6; myByte++)
  12. {
  13. try
  14. {
  15. myDirection=checked((Orientation)myByte); //checked什么意思?
  16. if(myDirection<Orientation.north||myDirection>Orientation.west)
  17. {
  18. throw new ArgumentOutOfRangeException("myByte",myByte,
  19. "Value must be between 1 and 4");
  20. }
  21. }
  22. catch(ArgumentOutOfRangeException e)
  23. {
  24. Console.WriteLine(e.Message);
  25. Console.WriteLine("Assigning default value,Orientation.north ");
  26. myDirection = Orientation.north;
  27. }
  28. Console.WriteLine("myDirection={0}", myDirection);
  29. }
  30. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

3 个回复

倒序浏览
checked操作符用于整型算术运算时控制当前环境中的溢出检查,就要报异常,因为checked要检查是否溢出
回复 使用道具 举报
陈志盟 发表于 2013-4-15 17:44
checked操作符用于整型算术运算时控制当前环境中的溢出检查,就要报异常,因为checked要检查是否溢出 ...

那意思是溢出就报异常,不溢出就相当于没有checked
回复 使用道具 举报
熊薇 发表于 2013-4-15 21:24
那意思是溢出就报异常,不溢出就相当于没有checked

是的,溢出就会报异常。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马