参数2:无法从System.IO.FileInfo转换为'string'

时间:2015-11-09 02:18:44

标签: c# visual-studio-2015

当我尝试在某个存储库中打开最近创建的文本文件时出现错误。

  

“参数2:无法从System.IO.FileInfo转换为'string'”

“newestFile”下的错误标有下划线。

var directory = new DirectoryInfo(Program.resultsFolder);
var newestFile = directory.GetFiles().OrderByDescending(f => f.LastWriteTime).First();
Process.Start("notepad.exe", newestFile);

任何人对于为什么会发生这种情况以及如何解决这个问题有任何想法?

2 个答案:

答案 0 :(得分:2)

这是有道理的,因为GetFiles返回FileInfo个对象的数组,而您正在选择第一个。 FileInfo除了名称之外还包含有关该文件的更多信息。

如果要访问文件的路径,则必须使用正确的属性。

假设该文件是txt文件,并且记事本是该类型的默认应用程序,只需使用FullName

Process.Start(newestFile.FullName);

答案 1 :(得分:-1)

Process.Start接受两个字符串作为参数。您的原始代码是fileinfo类型。需要转换为字符串

var newestFile = directory.GetFiles().OrderByDescending(f => f.LastWriteTime).First().ToString();