我有OpenFileDialog
,我想将所选文件名转换为FileInfo[]
变量。
但我不知道如何在一个行代码中转换所有选定的文件。
这显然不起作用:
FileInfo[] files = openFileDialog.FileNames;
谢谢。
答案 0 :(得分:1)
使用LINQ:
FileInfo[] files = openFileDialog.FileNames.Select(f => new FileInfo(f)).ToArray();
答案 1 :(得分:1)
FileInfo
class提供constructor that expects a filename。因此,要获取单个文件名FileInfo
的{{1}}实例,只需调用该构造函数:
string
在你的情况下,你想得到一个数组并有几个文件名字符串,因此你可以使用Enumerable
class中的LINQ扩展方法:
FileInfo file = new FileInfo(openFileDialog.FileName);
请注意最后对ToArray
的额外通话,因为Select
将返回IEnumerable<FileInfo>
。