2016-08-04 7 views
0

Erhalten Sie diesen Fehler, wenn Sie versuchen, die Funktion zu verwenden, wenn kompiliert wird.Zeichenfolge kann keine Länge 0 haben

Dies ist der Code:

Private Sub OpenFileDialog1_FileOk(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk 
    Dim FileName As String 
    FileName = OpenFileDialog1.FileName.Substring(OpenFileDialog1.FileName.LastIndexOf("")) 
    Dim DllFileName As String = FileName.Replace("", "") 
    DllListBox.Items.Add(DllFileName) 
End Sub 

es etwas mit dieser Linie zu tun Figured aus:

Dim DllFileName As String = FileName.Replace("", ""). 

Wer irgendwelche Ideen, wie dieses Problem beheben?

+0

Nun, was würde das eigentlich bedeuten? Nichts durch nichts ersetzen? Das Ersetzen von * etwas * durch nichts würde hier mehr Sinn ergeben. – mszymborski

+3

Stellen Sie sich vor, Sie ersetzen '' '' durch '' '' - was wäre das Ergebnis? – mszymborski

Antwort

0

Was Sie genau sind hier zu tun versuchen ?:

FileName.Replace("", "") 

Das erste String-Argument ist die Zeichenfolge in FileName zu suchen. Die zweite ist die Zeichenfolge, die ersetzt werden soll. Du versuchst nichts durch nichts zu ersetzen. Das Ergebnis einer solchen Operation, wenn es erlaubt wäre, würde die gleiche sein wie kein Betrieb überhaupt:

Dim DllFileName As String = FileName 

Da die Fehlerzustände, das erste Argument nicht leer sein kann. Das System kann nicht sinnvoll nach einer leeren Zeichenfolge in einer nicht leeren Zeichenfolge suchen.

+0

Danke, ich muss zuviel gemischt schlafen. –