The Directory.EnumerateFiles method returns an enumerable collection of file names in the specified directory.
string root = @"C:Temp";
// Get a list of all subdirectories
var files = from file in Directory.EnumerateFiles(root)select file;
Console.WriteLine("Files: {0}", files.Count().ToString());
Console.WriteLine("List of Files");
foreach (var file in files)
{
Console.WriteLine("{0}", file);
}