欧美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ù)溢出時,則不拋出異常。下面是一個示例:  
復制代碼 代碼如下:

  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    

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

相關(guān)文章

  • C#實現(xiàn)獲取枚舉中元素個數(shù)的方法

    C#實現(xiàn)獲取枚舉中元素個數(shù)的方法

    這篇文章主要介紹了C#實現(xiàn)獲取枚舉中元素個數(shù)的方法,是深入理解C#程序設計所需要掌握的基本技巧,需要的朋友可以參考下
    2014-08-08
  • C#實現(xiàn)搶紅包算法的示例代碼

    C#實現(xiàn)搶紅包算法的示例代碼

    很多商家都會使用紅包進行促銷,那么你知道紅包算法是怎么實現(xiàn)的嗎,本文主要介紹了C#實現(xiàn)搶紅包算法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 使用JsonConverter處理上傳文件的路徑問題

    使用JsonConverter處理上傳文件的路徑問題

    我們上傳一個文件,把文件保存到服務器上,會有一個明確的物理路徑,由于需要從前端訪問這個文件,還需要web服務器中的一個虛擬路徑,我們可以使用JsonConverter 來自動處理一下,這篇文章主要介紹了使用JsonConverter處理上傳文件的路徑,需要的朋友可以參考下
    2022-12-12
  • C#可空類型用法分析

    C#可空類型用法分析

    這篇文章主要介紹了C#可空類型用法,實例分析了C#可空類型的功能、定義及使用方法,需要的朋友可以參考下
    2015-05-05
  • C#不可變類型深入解析

    C#不可變類型深入解析

    這篇文章主要介紹了C#不可變類型,對于C#程序員深入理解string數(shù)據(jù)類型有很大的幫助,需要的朋友可以參考下
    2014-08-08
  • 利用C#實現(xiàn)Window系統(tǒng)桌面鎖定效果

    利用C#實現(xiàn)Window系統(tǒng)桌面鎖定效果

    在實際開發(fā)中,我們有時需要實現(xiàn)類似"屏幕鎖定"的效果,C# 作為一門強大的桌面應用開發(fā)語言,結(jié)合 Windows API 可以輕松實現(xiàn)這一功能,所以本文將通過調(diào)用 SetForegroundWindow 和 GetForegroundWindow 兩個核心方法,實現(xiàn)一個簡易但實用的屏幕鎖定程序,需要的朋友可以參考下
    2025-05-05
  • C# 7.0之ref locals and returns(局部變量和引用返回)

    C# 7.0之ref locals and returns(局部變量和引用返回)

    這篇文章主要介紹了C# 7.0之ref locals and returns,即局部變量和引用返回,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Visual C#類的定義及實現(xiàn)方法實例解析

    Visual C#類的定義及實現(xiàn)方法實例解析

    這篇文章主要介紹了Visual C#類的定義及實現(xiàn)方法實例解析,對于新手來說有不錯的借鑒學習價值,需要的朋友可以參考下
    2014-07-07
  • C#實現(xiàn)石頭剪刀布游戲

    C#實現(xiàn)石頭剪刀布游戲

    這篇文章主要為大家詳細介紹了C#實現(xiàn)石頭剪刀布游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • C# 操作PostgreSQL 數(shù)據(jù)庫的示例代碼

    C# 操作PostgreSQL 數(shù)據(jù)庫的示例代碼

    本篇文章主要介紹了C# 操作PostgreSQL 數(shù)據(jù)庫的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11

最新評論