国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

探討c#中的unchecked是什么意思,起什么作用?

2020-01-24 03:15:02
字體:
來源:轉載
供稿:網友
Checked與Unchecked    
對于因為整數類型參與算術操作和類型轉換時產生的“溢出異?!报D―System.OverflowException,在某些算法來講不算真正的“異常”,相反這種溢出常常為程序所用。C#通過引入checked和unchecked關鍵字來控制這種特殊情況的需求。它們都可以加于一個語句塊前(如:checked{……}),或者一個算術表達式前(如:unchecked(x+y)),其中加checked標志的語句或表達式如果發生算術溢出,則拋出System.OverflowException類型的異常,而加unchecked標志的語句發生算術溢出時,則不拋出異常。下面是一個示例:  
復制代碼 代碼如下:

  using    System;    
     class    Test{    
     static    void    Main()    {    
     int    num1=100000,num2=100000,    
     result=0;    
     checked{    try    {    result=    num1    *    num2;}    
     catch(System.Overflo2wException    e){    Console.WriteLine(e);    }    
     finally{    Console.WriteLine(result);}    
     }    
     unchecked{    try    {    result=    num1    *    num2;}    
     catch(System.OverflowException    (e){    Console.WriteLine(e);}    
     finally{    Console.WriteLine(result);}    
     }    
     }    
     }

程序輸出:    
復制代碼 代碼如下:
         
System.OverflowException:    Arithmetic    operation    resulted    in    an    overflow.    
at    Test.Main()    
0    
1410065408    

可以看到同樣的算術操作,用checked拋出了溢出異常,而unchecked只是將溢出的位丟棄而得到剩下的32位組成的十進制整數值。值得指出的是可以用“/checked”編譯器選項指定整個文件的代碼為checked語義,如果沒有指定則默認為unchecked。如果同時在程序代碼中指定checked或unchecked標志,又有了checked編譯器選項,則除了標志為unchecked的代碼外,其余的都有checked語義。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 苏尼特左旗| 封开县| 科技| 延川县| 惠东县| 长汀县| 弥勒县| 汤原县| 镇远县| 平南县| 渝北区| 六安市| 沧源| 金昌市| 丹东市| 年辖:市辖区| 辰溪县| 和田市| 榆树市| 南华县| 仪陇县| 宽甸| 凤凰县| 英德市| 北碚区| 临武县| 临朐县| 通榆县| 马关县| 祁门县| 南投县| 灵山县| 海安县| 嫩江县| 雅江县| 东海县| 阿巴嘎旗| 广汉市| 涟源市| 望奎县| 灵台县|