我有以下文件:

Test_221218_123.txt

Test_221218_456.txt

Test_221218_789.txt

这里的“ 221218”是日期。我做了如下测试:

var d = new DirectoryInfo(@"C:\");
var files = d.GetFiles().Where(f => f.Name.Contains("221218"));


为了进行测试,我通过的日期是静态的,仅用于测试目的,但是投入生产时它将是一个变量。上面为我选择了所有文件。我需要选择最新文件(以日期的形式)。

我尝试如下

var files = d.GetFiles().Where(f => f.Name.Contains("221218"));
//OR
var files = d.GetFiles().Where(f => f.Name.Contains("221218")).Select(f => f.LastWriteTime);


第一个是我所有221218文件的列表。第二个给我日期。如何选择最新文件?

最佳答案

FileInfo latestByWriteTime = new DirectoryInfo( @"C:\" )
    .GetFiles()
    .Where( f => f.Name.Contains( "221218", StringComparer.OrdinalIgnoreCase ) )
    .OrderByDescending( f => f.LastWriteTime )
    .FirstOrDefault();

关于c# - 根据字符串选择文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54590696/

10-11 04:38