2010-07-19 51 views
1

为什么它抱怨不能够一个字符串数组转换为字符串时的值是一个字符串数组无法将类型字符串[]当值被分配有在[]中的数字字符串

中的字符串代码:

int i; 
      string[] Filenames; 

      OpenFileDialog UnConvertedFilesList = new OpenFileDialog(); 
      if (UnConvertedFilesList.ShowDialog() == DialogResult.OK) 
      { 

       foreach (string FileName in UnConvertedFilesList.FileNames) 
       { 

        //Right Here 
        Filenames[i] = Filenames; 
        AudioFiles_listbox.Items.Add(FileName); 
        i++; 
       } 

      }//if 
      else 
      { 
       MessageBox.Show("File does not exist"); 
      } 

编辑:该行已更改的文件名[我] =文件名

现在它说:“使用未分配的局部变量‘文件名’和同样的事情,因为我

它们定义在函数的顶部。

回答

6

你有一个额外的 “s” 上你的名字有:

//Right Here 
Filenames[i] = Filenames; 

应该是:

//Right Here 
Filenames[i] = FileName; 

更重要的是,虽然,你的文件名[]数组是目前null。一旦你解决了你的第一个问题,你就会有这个挑战。我的建议是完全跳过使用阵列,直接进入AudioFiles_listbox。一旦你做到这一点,你可以去正确的ListBox的方法的AddRange:

AudioFiles_listbox.Items.AddRange(UnConvertedFilesList.FileNames); 
+0

它实际上是文件名 - 注意大写N.但他应该弄清楚。我也永远不会被初始化。他需要int i = 0。欢呼+1 – Marko 2010-07-19 01:38:37

+0

@JoelCoehoom,请提供解决方案代码以完成您描述的这种替代方法。 – 2011-03-24 18:52:23

+0

@Brian - 愿意授予 – 2011-03-24 19:31:10

0

“的未分配使用”意味着你不使用它的代码,方法或段...你的任务是内的任何地方现在好了,但它没有被使用。

HTH。

相关问题