现在,作为一个C#程序员,我知道泛型真棒。 然而,在一些VB.NET涉足时,我发现以下不会导致编译器错误:

Dim instance As List(Of Integer)
instance.Add(True)

这是为什么?我知道,你是不是需要VB.NET中投,但我还以为这杀死的主要原因使用泛型 - 类型安全

编辑:我没有选择严格的,因为这不是一个真正的编程练习,只是我有理论上看看VB.NET。这是一个理论性的问题,因为我认为这将导致编译器错误,即使选项严格关闭,就像泛型类型的功能。

有帮助吗?

解决方案

Option Strict On,VB.NET高兴地隐式转换BooleanInteger。我强烈建议(尤其是从C#背景的),你让Option Strict On默认为您VB.NET的工作。

您可以在Visual Studio中Tools做到这一点| Options | Projects and Solutions | VB Defaults

修改的更多的VB(经典)“松弛”的态度类型转换,谷歌“恶类型强制”。我们这些谁寻求工作做好在VB(经典)不得不搏斗这个恶魔的同时...

其他提示

你有选项严格开启上?

VB.NET转换在函数调用点。 (的整数)的列表是否仍在存储的整数(-1,这是真实的整数值)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top