找不到文件时如何处理返回异常的linq语句

How to handle linq statement returning exception when no file found

我有这段代码可以获取最近修改的文件

DirectoryInfo dirInfo = new DirectoryInfo(directoryPath);
string partialFileName = "partialFileName";
FileInfo recentlyModFile = (from files in dirInfo.GetFiles(partialFileName + "*") orderby files.LastWriteTime descending select files).First();

担心的是,当没有符合条件的文件时,它会 returns 异常,这显然是必然发生的,我正在寻找处理相同问题的方法。

我尝试将上面的代码放在 try catch 块中,但这没有帮助。如果有人能让我知道如何解决这个问题,那将会很有帮助。

谢谢

您可以使用 FirstOrDefault() 而不是 First()

First()如果没有结果数据会抛出异常

FirstOrDefault() returns 如果没有结果数据则默认值(空)。

FileInfo recentlyModFile = (from files in dirInfo.GetFiles(partialFileName + "*") orderby files.LastWriteTime descending select files).FirstOrDefault();