关于Generics的困惑
本文关键字:Generics 关于 | 更新日期: 2023-09-27 18:27:45
我正在尝试使用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.));
}
}
所以我假设注释掉的代码不起作用。原因是您试图访问字典的属性,而不是字典中值的属性
这个
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
对象,然后才能访问该实例的Name
和Length
属性。list
变量的类型为dictionary,并且没有Name
属性。如果您在列表中使用点表示法(如list.Something
),则会省去一个间接级别。