C#编程关于string隐式不能转换为string[]的cuo'wu


```namespace MediaPlayer_demo
{
    public partial class Form1 : Form
    {
        string[] paths, files; //定义的两个数组
        public Form1()
        {
            InitializeComponent();
        }
        private void OpenFile_Click(object sender, EventArgs e)
        {
            OpenFileDialog dig = new OpenFileDialog();
            dig.Multiselect = true;
            if(dig .ShowDialog ()==System .Windows .Forms .DialogResult .OK )
            {
                files = dig.SafeFileName; //string隐式不能转换为string[]
                paths = dig. FileName; //同上错误。
                for(int i=0;i<files.Length ;i++)
                {
                    PlayList.Items.Add(files[i]);
                }
            }
        }

string 类型怎么可能转换成string[]类型,可以用泛型集合:

 List< string>  paths = new List< string>();
 List< string>  files = new List< string>();
 public Form1()
 {
        InitializeComponent();
 }
 private void OpenFile_Click(object sender, EventArgs e)
 {
            OpenFileDialog dig = new OpenFileDialog();
            dig.Multiselect = true;
            if (dig.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                files.Add(dig.SafeFileName);
                paths.Add(dig.FileName);
                for (int i = 0; i < files.Count; i++)
                {
                    PlayList.Items.Add(files[i]);
                }
            }
        }

if(dig .ShowDialog ()==System .Windows .Forms .DialogResult .OK )
{
foreach (string file in dig.FileNames)
PlayList.Items.Add(file);
}

这样写

问题解决得话,请点采纳

files = dig.SafeFileName; //string隐式不能转换为string[]
paths = dig. FileName; //同上错误。
请问为什么要单独创建一个string类型的数组来存储dig.SafeFileName?是要对char进行过滤?想要做什么,想实现什么功能,这些问题建议还是先理清楚。