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