2012-08-08 150 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