Ae professor! Obrigado pela ajuda. É isso mesmo, eu fiz confusão com a forma de trabalhar no console application com WPF no curso.
Segue o código:
public class Program
{
public static void Main(string[] args)
{
ExecutarVerificarMaiorParanaue();
}
public async static void ExecutarVerificarMaiorParanaue()
{
var resultado = await VerificarMaiorParanaue();
Console.Write($"{resultado.Item1} - {resultado.Item2}");
Console.ReadKey();
}
public async static Task<Tuple<string, int>> VerificarMaiorParanaue()
{
var task = Task.Factory.StartNew(() =>
{
var pasta = "";
var qtd = 0;
foreach (var dir in Directory.EnumerateDirectories(@"C:\Program Files", "*.*", SearchOption.AllDirectories))
{
var num = Directory.EnumerateFiles(dir, "0*.txt").Count();
if (num > qtd)
{
qtd = num;
pasta = dir;
}
}
return new Tuple<string, int>(pasta, qtd);
});
return (await Task.WhenAll(task))[0];
}
}
Aqui onde trabalho, fazemos muitos processamentos pesados de texto e muitos programas são console app, por isso testei no console application.
Outra coisa engraçada é que nos programas que fazemos, apesar de ser uma tarefa pesada que demora horas (depende do tamanho do arquivo), não vejo o processamento indo a 100% o tempo todo como vemos no curso.
Tem alguma forma de identificação mais fácil sobre esses processamentos e qual cor ele tá sendo executado ou até mesmo outros detalhes que possam orientar no desenvolvimento das thread/tasks?