ファイルを検索する再帰的なメソッドを作成しています。一致すると、コンソール ウィンドウへのフル パスが出力されます。明らかに、これが多くの結果を返す場合、画面がすぐにいっぱいになり、結果を確認するのに十分な時間がありません。CursorLeft
結果を確認できるように、コンソールのプロパティが挿入する特定の位置にヒットしたときにキャッチする方法が欲しいReadKey()
です。私の検索方法は次のとおりです
static void FileSearch(string Base, string Pattern)
{
if (!Directory.Exists(Base)) return;
string _Patt = Pattern.ToLower();
var Files = Directory.GetFiles(Base).Where(File
=> Path.GetFileName(File).ToLower().Contains(_Patt));
foreach (string File in Files)
Console.WriteLine(File);
string[] Dirs = Directory.GetDirectories(Base);
foreach (string Dir in Dirs)
FileSearch(Dir, Pattern);
}
インクリメント のようなある種のインデクサーを追加してint
、位置を追跡し、ループの各反復で位置を確認し、それをint
として渡して、ref
すべての呼び出しが同じ を参照できるようにすることを認識していint
ます。また、各反復で現在の位置を簡単に確認できることも認識しています。これを達成するためのよりクリーンな方法、おそらくイベント処理に似たものがあるかどうか疑問に思っていますか?