私のコンピュータに最新のテキストファイルを取得しようとしています。 コンピュータの各ドライブに行き、すべてのテキストファイルを検索し、最新のファイルを1つだけ取得する必要があります。コンピュータのすべてのドライブを検索した後に最新のテキストファイルを取得する方法
私は、ドライブのすべての最新のファイルは、「メソッドの
try
{
foreach (DriveInfo d in DriveInfo.GetDrives())
{
var X = GetLatestFiles(d.Name, "*.txt");
}
}
catch (Exception ex) { Console.WriteLine(ex); }
public static FileInfo GetLatestFiles(string path, string searchPattern)
{
return Directory.EnumerateFiles(path, searchPattern).Union(
Directory.EnumerateDirectories(path).SelectMany(d =>
{
try
{
return GetLatestFiles(d, searchPattern);
}
catch (UnauthorizedAccessException)
{
return Enumerable.Empty<String>();
}
})).OrderByDescending(f => (f == null ? DateTime.MinValue : f.LastWriteTime)).FirstOrDefault();
}
エラー
型引数を仕事やないと確信して1エラーを取得し、いくつかのコードを試してみましたもないEnumerable.SelectMany (IEnumerable、Func>) ' を使用から推測することはできません。型引数 を明示的に指定してみてください。 ConsoleApp1 C:\ Users \ユーザーH190733 \ソース\レポ\ ConsoleApp1 \ ConsoleApp1アクティブProgram.csを43 \
をデバッグしますあなたが処理する必要があるディレクトリのリストと、FileInfo変数を、それぞれのフォルダ内にリストし、addの内容をリストアップしてください。これは、LINQを使用していないと思います。フォルダをリストの末尾に置いて、すべてのファイルをリストし、フォルダ内で最高の日付のfileinfoを探します。日付がfileinfo変数よりも新しい場合新しいファイルインフォを比較するループにする –