当值是字符串数组中的字符串时,为什么会抱怨它无法将字符串数组转换为字符串
代码:
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");
}
编辑:该行改为Filenames [i] = FileName
现在它说“使用未分配的局部变量'文件名'和i
相同的东西它们定义在函数的顶部。
答案 0 :(得分:6)
你的名字上还有一个额外的“s”:
//Right Here
Filenames[i] = Filenames;
应该是:
//Right Here
Filenames[i] = FileName;
不仅如此,您的Filenames []数组目前还是null
。一旦你解决了第一个问题,你就可以解决这个问题了。我的建议是完全跳过使用数组,直接进入AudioFiles_listbox。一旦你这样做,你可以直接使用Listbox的AddRange方法:
AudioFiles_listbox.Items.AddRange(UnConvertedFilesList.FileNames);
答案 1 :(得分:0)
“使用未分配的”意味着您没有在该方法或代码段中的任何位置使用它...您的分配现在可以,但它没有被使用。
HTH。