我已經包裝了一個dll方法,它具有一個整數作爲Web服務中的out參數。 在測試中,我發現當我期待-1時,我得到了65,535。我意識到dll使用了16位整數,並且在我的代碼中引用外部dll時指定了標準的.NET 32位整數。這是通過指定一個16位整數很快被修復的,一切都很好。爲什麼這個整數溢出發生?
我的問題是爲什麼發生這種情況?我可以理解一個溢出發生,如果我試圖適應一個16位整數的32位整數,但我不知道爲什麼會發生這種情況。很明顯,我對這種類型的類型之間的類型的理解有點缺乏,因此任何指導都將不勝感激。
@Paul - 感謝您的解釋和鏈接。他們一起很好地解釋了它。 – 2009-02-23 15:36:39