函数返回不同的数据类型

m.e*_*son 2 .net vb.net types type-conversion

我刚刚看到以下代码段:

Public Function Checked() As Boolean
      Return applyChange 'This is a string!
End Function
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?具有返回类型的函数如何Boolean实际返回string?我假设这里有一些隐含的转换,我宁愿没有.我错过了编译选项吗?

这是.NET 1.0.

Cod*_*ray 5

你错过了Option Strict编译选项.您可以在项目的"属性"窗口的"编译"选项卡下找到它.打开它后,您会收到以下错误:

    Option Strict On禁止从


我建议立即启用此选项并修复所有结果编译错误.从a转换String为a Boolean是一个冒险的主张.如果applyChange实际上设置为类似"Hello"的字符串(而不是"True"或"False"),您将收到以下运行时错误:

从字符串"Hello"到"Boolean"类型的转换无效.