Directory.GetFiles 및 'StartsWith', 'Contains'및 'Inclus'를 사용하여 파일 이름을 필터링하는보다 효율적인 방법이 있습니까? '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'이며, 이는 거의 불가피합니다. 문자열을 검색하는 것이 상대적으로 무시할 만하지만, 당신이 향상시키고 자하는 것이 아닙니다. –
검색 패턴을 제공 할 수있는 GetFiles() 오버로드가 있습니다. 시도해 보셨습니까? – Jobo