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