2012-09-20 72 views
2

我是C#的新手,我想動態地初始化數組的字符串,我該如何實現它?即首先初始化...我如何初始化動態數組的字符串

string[] filepaths; 

    public void btnGetFiles_Click(object sender, EventArgs e) 
    { 


     try 
     { 

      filepaths[] = Directory.GetFiles(@txtGetFile.Text,"*.txt"); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
    } 

filepaths[]它沒有獲取目錄文件。請幫助..

+0

它應該工作。 txtGetFile.Text是否指向正確的目錄?另外@不是必需的。 – reticent

+0

你能告訴我們拋出了什麼異常嗎? –

回答

1

這是錯誤的:

filepaths[] = Directory.GetFiles(@txtGetFile.Text,"*.txt"); 

刪除括號並從控制名(可選)@符號:

filepaths = Directory.GetFiles(txtGetFile.Text,"*.txt"); 

filepaths是你的變量名,所以你解決它由此。

+1

要澄清,使用@符號不是一個錯誤,它只是不需要,並不經常使用。 – SWeko

+0

@SWeko - @符號,AFAIK它只用於轉義字符串文字,而不是當它們來自一個屬性? – Jeff

+0

@符號允許您爲[標識符](http://msdn.microsoft.com/en-us/library/aa664670.aspx)使用保留字,即'class'不是有效的標識符,而是' @ class'是。我見過幾個代碼生成器使用'@',因爲你可以有一個名爲「bool」的數據庫列。 – SWeko

1

不要使用[],它們只在聲明數組時需要。

filepaths = Directory.GetFiles(txtGetFile.Text,"*.txt"); 
1

不得使用陣列支架上文件路徑變量,括號只使用@聲明的聲明類型,例如:

Type[] yourVarName;