0

私の音楽ファイルが特定のルーチンの名前(トラック番号、次にトラック名)であるかどうかを確認する短いアプリがありますが、配列が初期化されているため、名前を変更する必要のあるファイルがない場合は常にエラーが発生しますが、最初の項目は何もない、null、空です(ただし、VBはそれを参照します)。

これを修正するために、このチェックを実行していますが、それでもエラーが発生します。

    ' Array declared like this
    Dim nc_full_names(0) As String

    <Code goes here to ReDim 'nc_full_names' and add the file name to the array, if a file needs renaming>

    For i = 0 To UBound(nc_full_names)

            'Checking if the array element actually has something in it like this
            If Not nc_full_names Is Nothing Then
                    My.Computer.FileSystem.RenameFile(nc_full_names(i), nc_new_names(i))
            Else
                    Exit For
            End If

    Next i

これが私が得ているエラーです-

引数は何もないことはできません。パラメータ名:ファイル

誰かがこのチェックを実行する正しい方法を教えてもらえますか?

4

2 に答える 2

2

答えは、配列自体ではなく、配列の最初の要素をチェックすることであることがわかりました。したがって、これを変更すると...

    If Not nc_full_names Is Nothing Then

...これに...

    If Not nc_full_names(i) Is Nothing Then

...問題なく動作します。

于 2013-03-02T23:29:53.520 に答える
0

真に空の配列から始めることもできます。

Dim nc_full_names(-1) As String

nc_full_names.Length = 0

于 2013-03-05T15:05:28.880 に答える