Lo más corto que se me ocurre es:
Código VB.Net:
Ver originalPrivate Sub boton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim count = 20
Dim numbers = Enumerable.Range(0, count) _
.Select(Function(x
) CInt(InputBox("Ingrese un numero"))) _
.ToArray()
txtCeros.Text = number.Count(Function(x) x = 0)
txtNegativos.Text = number.Count(Function(x) x < 0)
txtPositivos.Text = number.Count(Function(x) x > 0)
End Sub
Aunque esto es muy poco robusto ya que si el usuario ingresa un texto que no sea numérico va a dar error en tiempo de ejecución al tratar de convertirlo a Integer mediante la función Cint().
Lo más logico sería filtrar de la lista solamente aquellas cadenas de texto que sean convertibles a enteros, usando la funcion IsNumeric() de Visual Basic.Net:
Código VB.Net:
Ver originalPrivate Sub boton_Click(ByVal sender As Object, ByVal e As RoutedEventArgs)
Dim count = 20
Dim number = Enumerable.Range(0, count) _
.Select(Function(x
) InputBox("Ingrese un numero")) _
.Select(Function(x) CInt(x)) _
.ToArray()
txtCeros.Text = number.Count(Function(x) x = 0)
txtNegativos.Text = number.Count(Function(x) x < 0)
txtPositivos.Text = number.Count(Function(x) x > 0)
End Sub