是否有可能使用未初始化的局部变量"在Visual Basic中警告?

时间:2015-03-02 10:56:53

标签: c# vb.net warnings variable-declaration

比较以下片段:

static void Main(string[] args)
{
    int i;
    Console.Write(i); // yields an error: Use of unassigned local variable 'i'
}
Public Sub Main()
    Dim i As Integer
    Console.Write(i)  ' no warning
End Sub
Public Sub Main()
    Dim s As String
    Console.Write(s)  ' yields a warning: Variable 's' is used before it has been assigned a value. A null reference exception could result at runtime.
End Sub

我喜欢上一个例子中显示的警告,我也想在第二个例子(值类型)中使用它(尽管第一个例子中的文本比第三个例子中的文本更合适在这种情况下)。这是可能的还是这个功能已经(故意)从VB.NET中省略了?

1 个答案:

答案 0 :(得分:0)

不,这是不可能的。

以下是微软在2010年关闭的feature suggestion中所说的内容:

  

当您没有使用当地人之一时收到警告确实很有价值,我们很乐意将此警告添加到Visual Basic中。但是,我们必须小心谨慎,因为我们引入了新的警告,因为运行的人数是"警告错误"启用。虽然此警告通常表示编码错误,但现有应用程序中可能存在未使用的本地是良性的实例 - 从该方法的先前版本遗留下来。在这些情况下,我们需要非常小心,不要在将现有代码库从一种语言版本移动到另一种版本时将其破坏。

由于后向比较原因,他们似乎无法添加此功能。