Для реализации рекурсивного поиска файлов в C# можно воспользоваться методом Directory.GetFiles() с указанием параметра SearchOption.AllDirectories.
Пример решения задачи:
```c#
using System;
using System.IO;
class Program
{
static void Main()
{
string folderPath = @"путь_к_папке";
string[] coreFiles = Directory.GetFiles(folderPath, "*.core", SearchOption.AllDirectories);
string[] streamFiles = Directory.GetFiles(folderPath, "*.stream", SearchOption.AllDirectories);
if (coreFiles.Length == 0 && streamFiles.Length == 0)
{
Console.WriteLine("Файлы не найдены");
}
else
{
// обработка найденных файлов
foreach (var file in coreFiles)
{
Console.WriteLine($"Найден файл с расширением .core: {file}");
}
foreach (var file in streamFiles)
{
Console.WriteLine($"Найден файл с расширением .stream: {file}");
}
}
}
}
```
В этом примере, после выполнения поиска файлов по указанным расширениям в заданной папке, происходит проверка наличия найденных файлов. Если файлы не найдены, выводится соответствующее сообщение. Если файлы найдены, происходит вывод их путей в консоль.