是否有一种更有效的方法来使用Directory.GetFiles和'StartsWith','Contains'和'EndsWith'而不是我现在正在做的事情?通过'StartsWith','Contains'和'EndsWith'来有效地使用'Directory.GetFiles'来过滤文件名
_files = Directory.GetFiles(_path);
if (!String.IsNullOrEmpty(_startsWith))
{
_files = _files.Where(x => x.StartsWith(_startsWith)).ToArray();
}
if (!String.IsNullOrEmpty(_contains))
{
_files = _files.Where(x => x.Contains(_contains)).ToArray();
}
if (!String.IsNullOrEmpty(_endsWith))
{
_files = _files.Where(x => x.EndsWith(_endsWith)).ToArray();
}
最慢的部分将始终是'Directory.GetFiles',这是_almost_不可避免的。搜索字符串是相对可以忽略的,那不是你想要改进的,是吗? – 2013-03-05 12:02:40
GetFiles()的重载可以提供一个searchpattern,你试过了吗? – Jobo 2013-03-05 12:04:44