Я пытаюсь найти первый .dcm в дереве каталогов, а затем получить первый полный путь (a/a/a/123.dcm
). Однако игнорирование каталогов, где т. Д. Не найдено.Найти первый файл в ветвящемся каталоге
пример:
a/a/a/123.dcm
a/a/a/1234.dcm
a/a/a/12345.dcm
a/a/b/23.dcm
a/a/b/234.dcm
a/a/b/2345.dcm
a/a/c/23.dcm
a/a/c/234.dcm
a/a/c/2345.dcm
Ответ должен быть: a/a/a/123.dcm
, a/a/b/23.dcm
и a/a/c/23.dcm
Я пробовал:
var files = Directory.GetFiles(inputDir, "*.*", SearchOption.AllDirectories)
.Where(s => s.EndsWith(".dcm")).ToArray();
var dir = Directory.GetDirectories(inputDir, "*.*", SearchOption.AllDirectories).ToArray();
var biggest = files.First();
foreach (var item in dir)
{
DirectoryInfo di = new DirectoryInfo(item);
var q = from i in di.GetFiles("*.dcm", SearchOption.AllDirectories)
select i.Name;
var qq = q.First();
foreach (var items in qq)
{
Console.WriteLine(items);
}
}
Однако то, что я получаю ответ на пять каталогов. Ответ:
a/a/a/123.dcm
a/a/a/123.dcm
a/a/a/123.dcm
a/a/b/23.dcm
a/a/c/23.dcm
Мне просто интересно, есть ли более простой способ сделать это, используя LINQ или что-то еще? Большое вам спасибо за вашу помощь. Приветствия.
ли вы имеете в виду «первый» после сортировки был применен? Если да, то каков критерий сортировки? –
Критерии заканчиваются на: .dcm – user3276191