欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2013年06月05日 11:58:17   作者:  
本篇文章是對c#中的unchecked進行了詳細的分析介紹,需要的朋友參考下
Checked與Unchecked    
對于因為整數(shù)類型參與算術(shù)操作和類型轉(zhuǎn)換時產(chǎn)生的“溢出異?!薄猄ystem.OverflowException,在某些算法來講不算真正的“異?!保喾催@種溢出常常為程序所用。C#通過引入checked和unchecked關(guān)鍵字來控制這種特殊情況的需求。它們都可以加于一個語句塊前(如:checked{……}),或者一個算術(shù)表達式前(如:unchecked(x+y)),其中加checked標志的語句或表達式如果發(fā)生算術(shù)溢出,則拋出System.OverflowException類型的異常,而加unchecked標志的語句發(fā)生算術(shù)溢出時,則不拋出異常。下面是一個示例:  
復(fù)制代碼 代碼如下:

  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);}    
     }    
     }    
     }

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

可以看到同樣的算術(shù)操作,用checked拋出了溢出異常,而unchecked只是將溢出的位丟棄而得到剩下的32位組成的十進制整數(shù)值。值得指出的是可以用“/checked”編譯器選項指定整個文件的代碼為checked語義,如果沒有指定則默認為unchecked。如果同時在程序代碼中指定checked或unchecked標志,又有了checked編譯器選項,則除了標志為unchecked的代碼外,其余的都有checked語義。

相關(guān)文章

  • C# 定時器定時更新的簡單實例

    C# 定時器定時更新的簡單實例

    這篇文章主要介紹了C#中定時器定時更新的簡單實例。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • Unity3D Shader實現(xiàn)掃描顯示效果

    Unity3D Shader實現(xiàn)掃描顯示效果

    這篇文章主要為大家詳細介紹了Unity3D Shader實現(xiàn)掃描顯示效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Unity UI實現(xiàn)拖拽旋轉(zhuǎn)

    Unity UI實現(xiàn)拖拽旋轉(zhuǎn)

    這篇文章主要為大家詳細介紹了Unity UI實現(xiàn)拖拽旋轉(zhuǎn),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • C#使用ping命令的兩個例子

    C#使用ping命令的兩個例子

    這篇文章主要介紹了C#使用ping命令的兩個例子,本文給出了調(diào)用CMD命令和使用C# ping類的兩個例子,需要的朋友可以參考下
    2014-08-08
  • C#過濾sql特殊字符串的方法

    C#過濾sql特殊字符串的方法

    這篇文章介紹了C#過濾sql特殊字符串的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • C#9.0中init訪問器的實現(xiàn)

    C#9.0中init訪問器的實現(xiàn)

    本文主要介紹了C#9.0中init訪問器的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • C# 中的 IReadOnlyDictionary 和 IReadOnlyList實例詳解

    C# 中的 IReadOnlyDictionary 和 IReadOnlyLis

    C# 中的IReadOnlyDictionary和IReadOnlyList是接口,用于表示只讀的字典和只讀的列表,這些接口提供了對集合的只讀訪問權(quán)限,即不允許對集合進行修改操作,這篇文章主要介紹了C# 中的 IReadOnlyDictionary 和 IReadOnlyList實例詳解,需要的朋友可以參考下
    2024-03-03
  • 解析C#設(shè)計模式編程中備忘錄模式的運用

    解析C#設(shè)計模式編程中備忘錄模式的運用

    這篇文章主要介紹了C#設(shè)計模式編程中備忘錄模式的運用,備忘錄模式用來保存與對象有關(guān)的數(shù)據(jù)用以在將來對對象進行復(fù)原,需要的朋友可以參考下
    2016-02-02
  • C#使用回溯法解決背包問題實例分析

    C#使用回溯法解決背包問題實例分析

    這篇文章主要介紹了C#使用回溯法解決背包問題,實例分析了背包問題的描述及C#解決方法,需要的朋友可以參考下
    2015-04-04
  • C#連接Oracle的方法實例總結(jié)

    C#連接Oracle的方法實例總結(jié)

    這篇文章主要介紹了C#連接Oracle的方法,結(jié)合實例形式總結(jié)分析了幾種常見的C#連接Oracle數(shù)據(jù)庫的操作技巧與相關(guān)注意事項,需要的朋友可以參考下
    2017-06-06

最新評論