我正在编写一个搜索文件的递归方法,当它遇到匹配时,它会打印到控制台窗口的完整路径。显然,如果这会返回很多结果,它会很快填满屏幕,没有足够的时间来查看结果。我想要一种在控制台的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
可以将其作为 a 传递,ref
以便所有调用都查看相同的int
. 我也知道每次迭代我都可以简单地检查当前位置。我只是想知道是否会有一种更清洁的方法来实现这一点,也许类似于事件处理?