<strike id="rrvnz"></strike>

    <noframes id="rrvnz">
    <noframes id="rrvnz"><span id="rrvnz"><pre id="rrvnz"></pre></span><address id="rrvnz"></address>
    <address id="rrvnz"><nobr id="rrvnz"></nobr></address><noframes id="rrvnz">
      <em id="rrvnz"></em>

        首 頁IT知識庫翔宇問吧收藏本站
        當前位置:翔宇亭IT樂園IT知識庫C#專區C#基礎

        C#中的checked、unchecked操作符

        減小字體 增大字體 作者:佚名  來源:轉載整理  發布時間:2014-10-26 22:33:20

        在C#中checked和unchecked操作符用于控制檢查整型算術運算時是否溢出。

        下列運算參與了checked和unchecked檢查(操作數均為整數):

        1) 預定義的++和――一元運算符。

        2) 預定義的-一元運算符。

        3)預定義的+、-、×、/等二元操作符。

        4)從一種整型到另一種整型的顯示數據轉換。

        checked與unchecked

        當上述整型運算產生一個目標類型無法表示的大數時,可以有相應的處理方式:

        1、使用checked

        若運算是常量表達式,則產生編譯錯誤:The Operation overflows at complie time in checked mode.
        若運算是非常量表達式,則運行時會拋出一個溢出異常:OverFlowException異常

        2、使用unchecked

        無論運算是否是常量表達式,都沒有編譯錯誤或是運行時異常發生,只是返回值被截掉不符合目標類型的高位。

        3、既未使用checked又未使用unchecked

        若運算是常量表達式,默認情況下總是進行溢出檢查,同使用checked一樣,會無法通過編譯。
        若運算是非常量表達式,則是否進行溢出檢查,取決于外部因素,包括編譯器狀態、執行環境參數等。

        下例說明了checked和unchecked操作符在非常量表達式中的使用方法:

        class Test
        {
           static int x = 1000000;
           static int y = 1000000;
           static int F()
           {
              return checked(x*y); //運行時拋出OverFlowException異常
           }
           static int G()
           {
              return unchecked(x*y); //截去高位部分,返回-727379968
           }
           static int H()
           {
              return x*y; //依賴于編譯器的默認設置,一般是不檢查
           }
        }

        checked和unchecked操作符在常量表達式中的使用方法:

        class Test
        {
           const int x = 1000000;
           const int y = 1000000;
           static int F()
           {
              return checked(x*y); //編譯錯誤,編譯無法通過
           }
           static int G()
           {
              return unchecked(x*y); //截去高位部分,返回-727379968
           }
           static int H()
           {
              return x*y; //編譯錯誤,編譯無法通過
           }
        }

        Tags:C# 操作符

        知識評論評論內容只代表網友觀點,與本站立場無關!

           評論摘要(共 0 條,得分 0 分,平均 0 分) 查看完整評論
        請注意用語文明且合法,不要發布帶有攻擊性、侮辱性的言論,謝謝合作!
        用戶名: 查看更多評論
        分 值:100分 90分 80分 70分 60分 40分 20分
        內 容:
        驗證碼:
        關于本站 | 網站幫助 | 廣告合作 | 網站聲明 | 友情連接 | 網站地圖
        本站部分內容來自互聯網,如有侵權,請來信告之,謝謝!
        Copyright © 2007-2020 biye5u.com. All Rights Reserved.
        特黄特色三级在线观看 - 视频 - 在线观看 - 影视资讯 -心晴网