• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    C#語法中checked、unchecked溢出檢查如何使用

    在C#語法中,溢出凡是有兩種處置體例,第一種是在界說的時辰直接賦值跨越規模的值,這個時辰編譯器就能查抄出來。第二種就是利用checked,在界說的時辰沒有溢出,后續計較的時辰溢出了,那么,程序就會報錯。

    東西/原料

    • visual studio

    方式/步調

    1. 1

      打開visual studio,建立一個節制臺應用程序,用于演示C#語法中的checked查抄溢出,和unchecked不查抄溢出的利用。在Main方式中,界說一個byte類型的變量,直接賦值256,因為byte的規模是0到255,所以,編譯器直接報錯

    2. 2

      點竄byte類型變量的初始值為255,然后,在后續代碼中讓其自增1,這個時辰理論上值到了256,可是,現實運行成果倒是0,跟預期的成果紛歧樣,導致后續呈現異常時,排盤問題較難

    3. 3

      在vs中,調試運行代碼,可以在節制臺窗口中看到運行的成果為0,不是256。可是,整個運行過程中也沒有報錯

    4. 4

      若是想要避免呈現這樣既不報錯,也不是預期成果的環境,就可以利用checked關頭字包裹這段代碼,這樣,在運行時,發現溢出,就會報錯

    5. 5

      繼續在vs中,調試代碼,就會發現呈現了:System.OverflowException:“算術運算導致溢出”的錯誤。這樣就能避免不報錯,成果也不合適預期的環境

    6. 6

      假設,某些環境下,就是不但愿對溢出進行查抄,這個時辰就可以利用unchecked關頭字,包裹不進行溢出查抄的代碼段

    7. 7

      再次在vs中調試,會發現,這一次沒有溢出的錯誤了。可是,其實數據仍是溢出了。是以,現實項目中,碰到溢出的時辰,可以改換為規模更大的數據類型

    • 發表于 2019-05-16 23:40
    • 閱讀 ( 717 )
    • 分類:其他類型

    0 條評論

    請先 登錄 后評論
    admin
    admin

    0 篇文章

    作家榜 ?

    1. xiaonan123 189 文章
    2. 湯依妹兒 97 文章
    3. luogf229 46 文章
    4. jy02406749 45 文章
    5. 小凡 34 文章
    6. Daisy萌 32 文章
    7. 我的QQ3117863681 24 文章
    8. 華志健 23 文章

    推薦文章

    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆