VB中的String()变量

时间:2010-08-24 13:12:35

标签: vb.net visual-studio-2008

我正在尝试修改一个程序,其中有一个变量将所有指定的文件类型存储在String()变量中。我想做的是以任何方式以某种方式附加到此变量,如果我想搜索另一个目录或只是抓住另一个单独的文件。任何建议都将不胜感激。

//Grab files from a directory with the *.txt or *.log as specified in the Combo Box
Dim strFiles As String()
strFiles = System.IO.Directory.GetFiles(txtSource.Text, cmbtype.SelectedItem, IO.SearchOption.AllDirectories)

编辑:已修改为包含使用的代码段。

Dim strFiles As String()
Dim listFiles As List(Of String)(strFiles)

If (cmbtype.SelectedItem = "All") Then
    //Do stuff

     For index As Integer = 1 To cmbtype.Items.Count - 1
         Dim strFileTypes As String() = System.IO.Directory.GetFiles(txtSource.Text, cmbtype.Items(index), IO.SearchOption.AllDirectories)
     Next

    //Exit Sub
Else
    listFiles.Add(System.IO.Directory.GetFiles(txtSource.Text, cmbtype.SelectedItem, IO.SearchOption.AllDirectories).ToString())
End If

2 个答案:

答案 0 :(得分:3)

现在您正在使用String(),这是String个实例的数组。数组不适合动态增长的结构。更好的类型是List(Of String)。它的使用方式与String()非常相似,但有一种方便的AddAddRange方法可以将数据附加到最后。

Dim strFiles As New List(Of String)()
strFiles.AddRange(System.IO.Directory.GetFiles(txtSource.Text, cmbtype.SelectedItem, I

O.SearchOption.AllDirectories)

答案 1 :(得分:1)

dim listFiles as list(of string)
listFiles = System.IO.Directory.GetFiles(txtSource.Text, cmbtype.SelectedItem, IO.SearchOption.AllDirectories).ToList()
listFiles.Add("..\blah\...\")