long a = 123456789; int b =(int)a;這樣寫編譯器是不會搞錯的,而且還可以順利執行。 而VB.NET裡
Dim a As Long = 123456789 Dim b As Int = CInt(a)這樣寫一般都會提示“算術運算符溢出,這個值對於Int來說太大或者太小” 難道C#的強制轉換真的做到強制了嗎? 谷歌搜索了下,在個一覺偏僻的博客上找到了解決方法,原來國外網站早已經有相關的解答,奈何英文水平渣渣,看不懂而錯過。 照例,要說明C#為什麼不會報錯。 原因很簡單,就是編譯器配置問題,C#在默認情況下,編譯器是不會去檢查運算是否溢出。 而VB.NET在默認情況下編譯器會檢查運算是否溢出,知道原因後一切都好辦了,只需要關閉編譯器的檢查功能即可解決這個問題。 把“不做整數溢出檢查”勾上,那麼VB.NET讀取純真數據庫就完成了。