我正在尝试修改一个程序,其中有一个变量将所有指定的文件类型存储在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
答案 0 :(得分:3)
现在您正在使用String()
,这是String
个实例的数组。数组不适合动态增长的结构。更好的类型是List(Of String)
。它的使用方式与String()
非常相似,但有一种方便的Add
和AddRange
方法可以将数据附加到最后。
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\...\")