2012-08-08 120 views
-1

我在VB.NET以下代码:指数超出范围

Public Sub New() 
    config = "" 

    Dim args() As String = System.Environment.GetCommandLineArgs() 
    If args.Count > 1 Then 
     config = args(1) 
    End If 
End Sub 

我总是得到错误,当它击中的配置= ARGS(1)称该指数超出界限。

我不知道如何解决这个问题,或者为什么当我已经进行计数检查时,这甚至是一个问题!我已经调试过,它确实抓住了命令行参数,所以这不是问题。

+2

这几乎是不可能的,除非你已经加载了一些奇怪的扩展名,而'Count'这里没有引用'System.Linq.Enumerable.Count'。 – 2012-08-08 19:43:55

+2

我在这边出去,猜测你没有发布实际的代码。请这样做。 – 2012-08-08 19:52:18

+0

这是实际的代码,事情是,我发布代码(得到一个.exe)后,它总是打破.exe - 调试时我没有得到错误。 – JamesD31 2012-08-09 15:14:35

回答

0

你得到使用Length属性的数组的长度:

If args.Length > 1 Then 

总之,我测试你的代码和它的作品使用Count了。我没有得到你提到的例外。

+0

是的,但'args.Count()'应该返回相同的值。 – 2012-08-08 19:44:50

+0

@KonradRudolph:是的,我测试了它,正如预期的那样。我将我的发现添加到答案中。 – Guffa 2012-08-08 19:49:46