当值是字符串数组中的字符串时,为什么会抱怨无法将字符串数组转换为字符串
码:
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");
}
编辑:该行更改为文件名[i] =文件名
现在,它说“对我使用未分配的本地变量'文件名'和相同的东西
它们在函数顶部定义。
最佳答案
您的名字上有一个额外的“ s”:
//Right Here
Filenames[i] = Filenames;
应该:
//Right Here
Filenames[i] = FileName;
但是,更重要的是,您的Filenames []数组当前为
null
。解决第一个问题后,您将不得不解决这个问题。我的建议是完全跳过使用数组,而直接转到AudioFiles_listbox。然后,您可以直接使用列表框的AddRange方法:AudioFiles_listbox.Items.AddRange(UnConvertedFilesList.FileNames);