如何将openFileDialog.FileNames转换为FileInfo []

时间:2014-09-03 09:19:50

标签: c#

我有OpenFileDialog,我想将所选文件名转换为FileInfo[]变量。

但我不知道如何在一个行代码中转换所有选定的文件。

这显然不起作用:

FileInfo[] files = openFileDialog.FileNames;

谢谢。

2 个答案:

答案 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>