2012-09-20 52 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;