-1

我正在尝试使用Dictionary。但我不知道该怎么做。这是我到目前为止所拥有的。你能帮忙吗?

    Dictionary<string, FileInfo> list = new Dictionary<string, FileInfo>();

        openFileDialog1.Multiselect = true;
        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {

            foreach (string file in openFileDialog1.FileNames)
            {
                list[file] = new FileInfo(file);


                //fi = new FileInfo(file);
             //  listBox1.Items.Add(string.Format("File Name :{0} FileSize : {1}", list.Name, list.Length.));

            }
    }
4

1 回答 1

3

所以我假设注释掉的代码是行不通的。原因是您试图访问字典的属性而不是字典中值的属性

这个

listBox1.Items.Add(string.Format("File Name :{0} FileSize : {1}", list.Name, list.Length.));

应该

listBox1.Items.Add(string.Format("File Name :{0} FileSize : {1}", list[file].Name, list[file].Length));

首先,您必须FileInfo使用键(在本例中为文件名)检索对象,然后您可以访问该实例的NameLength属性。你list的变量是字典类型,没有Name属性。如果您在列表上使用点符号,就像list.Something您忽略了间接级别一样。

于 2013-08-14T17:03:31.200 回答