0
從MSDN:爲什麼VB.NET默認會拋出OverflowException?
對於算術,鑄造,或轉換操作拋出OverflowException異常,必須發生在checked上下文的操作。默認情況下,檢查Visual Basic中的算術運算和溢出;在C#中,他們不是。如果操作發生在未經檢查的上下文中,則通過丟棄不符合目標類型的任何高位來截斷結果。
據我所知,默認情況下,C#和F#不檢查算術上溢/下溢,因爲性能。但爲什麼VB.NET將它們檢查爲默認值?
「因爲語言設計者認爲這應該是默認的」 - 這幾乎是它的開始和結束;他們只是在意想不到的結果與性能的競爭利益之間作出不同的決定/妥協 –
它是一個來自「Default Template」的設置...如果您想要(高級構建設置),可以對其進行修改,但是重點是什麼。如果你不想讓它取消它... – Codexer
可能重複[OverflowException只在VB.net,而不是在C#](http://stackoverflow.com/questions/36311162/overflowexception-only-in-vb- net-not-in-c-sharp) – Neolisk