C# 如何将openFileDialog.FileName转换为FileInfo[]

C# 如何将openFileDialog.FileName转换为FileInfo[],c#,C#,我有一个OpenFileDialog,我想将所选文件名转换为FileInfo[]变量 但我不知道如何在一行代码中转换所有选定的文件 这显然不起作用: FileInfo[] files = openFileDialog.FileNames; 谢谢。使用LINQ: FileInfo[] files = openFileDialog.FileNames.Select(f => new FileInfo(f)).ToArray(); 使用LINQ: FileInfo[] files = ope

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

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

这显然不起作用:

FileInfo[] files = openFileDialog.FileNames;
谢谢。

使用LINQ:

FileInfo[] files = openFileDialog.FileNames.Select(f => new FileInfo(f)).ToArray();
使用LINQ:

FileInfo[] files = openFileDialog.FileNames.Select(f => new FileInfo(f)).ToArray();
这是一个很好的选择。因此,要为单个文件名
字符串
获取
FileInfo
实例,只需调用该构造函数:

FileInfo file = new FileInfo(openFileDialog.FileName);
在您的情况下,您希望获得一个数组并具有多个文件名字符串,因此可以使用以下文件中的LINQ扩展方法:

请注意最后的附加调用,因为它将返回一个。

提供一个。因此,要为单个文件名
字符串
获取
FileInfo
实例,只需调用该构造函数:

FileInfo file = new FileInfo(openFileDialog.FileName);
在您的情况下,您希望获得一个数组并具有多个文件名字符串,因此可以使用以下文件中的LINQ扩展方法:


注意最后对的额外调用,它将返回一个。

这是
FileInfo[]files=(FileInfo[])openFileDialog.FileNames.Select(f=>newfileinfo(f))谢谢You@AlexJolig不,这将失败,请改用
ToArray
方法。这是
FileInfo[]files=(FileInfo[])openFileDialog.FileNames.Select(f=>newfileinfo(f))谢谢You@AlexJolig不,这将失败,请改用
ToArray
方法。