2010-08-24 70 views
1

我試圖修改一個程序,其中有一個變量,它將所有指定的文件類型存儲在String()變量中。我想要做的是以某種方式以任何方式追加到這個變量,如果我想搜索另一個目錄或只是抓住另一個單獨的文件。任何建議將不勝感激。在VB中的字符串()變量

//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 

回答

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
dim listFiles as list(of string) 
listFiles = System.IO.Directory.GetFiles(txtSource.Text, cmbtype.SelectedItem, IO.SearchOption.AllDirectories).ToList() 
listFiles.Add("..\blah\...\") 
+0

+1:我只是打字類似的東西,然後彈出1分新的答案。 – 2010-08-24 13:17:27

+0

我沒有看到.ToList()選項。 – Seb 2010-08-24 14:05:22

+0

你有 進口系統。林可 ? – asawyer 2010-08-24 14:12:40