1

我正在使用 VB.NET,顶部是

Option Explicit

但是,为什么当我这样做时编译器不会引发错误:-

obj.ThisFunction(Convert.ToInt32(strMessage))

功能是:-

Function ThisFunction(id as long)

当然,Int32 是 int 而 int64 是 long 吗?VS 2013 中是否有一个编译器选项可以打开以发现这些?

4

1 回答 1

4

这不是编译错误。如果您编写了显式转换strMessage为 的代码Int32,那么编译器会假定您知道自己在此做什么。

为了检查这实际上是Int32您可以使用的Int32.TryParse

即使将 an 转换Int32为 anInt64也不是编译错误,Option Strict On因为这是一个扩大转换(Option Strict On 在发现隐式缩小转换时会产生编译错误等)

于 2016-05-10T12:22:06.177 回答