checked與unchecked
對於因為整數型別參與算術操作和型別轉換時產生的「溢位異常」——system.overflowexception,在某些演算法來講不算真正的「異常」,相反這種溢位常常為程式所用。c#通過引入checked和unchecked關鍵字來控制這種特殊情況的需求。它們都可以加於乙個語句塊前(如: checked),或者乙個算術表示式前(如:unchecked(x+y)),其中加checked標誌的語句或表示式如果發生算術溢位,則丟擲system.overflowexception型別的異常,而加unchecked標誌的語句發生算術溢位時,則不丟擲異常。下面是乙個示例:
using system;
class test
catch(system.overflo2wexception e)
finally
}
unchecked
catch(system.overflowexception (e)
finally
}
}
}
程式輸出:
system.overflowexception: arithmetic operation resulted in an overflow.
at test.main()
0
1410065408
可以看到同樣的算術操作,用checked丟擲了溢位異常,而unchecked只是將溢位的位丟棄而得到剩下的32位組成的十進位制整數值。值得指出的是可以用「/checked」編譯器選項指定整個檔案的**為checked語義,如果沒有指定則預設為unchecked。如果同時在程式**中指定 checked或unchecked標誌,又有了checked編譯器選項,則除了標誌為unchecked的**外,其餘的都有checked語義。
c 中的unchecked是什麼意思,起什麼作用
c 中的unchecked是什麼意思,起什麼作用?checked與unchecked 對於因為整數型別參與算術操作和型別轉換時產生的 溢位異常 system.overflowexception,在某些演算法來講不算真正的 異常 相反這種溢位常常為程式所用。c 通過引入checked和unchecke...
C 中類中的this是什麼this?
在c 的類中經常遇到this,但是this究竟是何物?相信很多新人肯定有這樣那樣的疑惑。this後面經常帶乙個箭頭如 this data data云云。下面就先舉乙個例子 include iostream using namespace std class point point int a,int...
C 中的delegate是什麼?
1.c 中的delegate是什麼,有什麼用?delegate是委託,類似於在c語言中的函式指標,類a的方法m給類b使用,在類b中可以呼叫方法m.這裡委託是吧方法作為引數傳遞。1.1delegate和函式指標的區別?函式指標只能指向靜態的函式,但是delegate修飾的函式既可以引用靜態函式,有可以...