# IOAPI
using System.IO.Enumeration;
var files = new FileSystemEnumerable<FileInfo>(
@"C:\YourHugeDirectory",
(ref FileSystemEntry entry) => new FileInfo(entry.ToFullPath()),
new EnumerationOptions
{
RecurseSubdirectories = true,
IgnoreInaccessible = true
});
foreach (var file in files)
{
Console.WriteLine($"{file.FullName}: {file.Length} bytes");
}