我有以下文件:
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/