با سلام.
اول اینکه عنوانی که انتخاب کردید فقط به System.IO اشاره می کند در حالی که System.IO بخشی از .net است که خود شامل اجزا و کلاسهای مختلف و مباحث گوناگون است. عنوان شما باید گویای مشکل و یا موضوع مورد بحث تاپیک باشد و از طرفی آنقدر کلی نباشد که موارد گوناگون خارج از بحث تاپیک را هم تحت پوشش قرار دهد، فکر می کنم در غیر این صورت عنوان "مشکل در برنامه C#" عنوان مناسبی برای اکثر تاپیکها بود که جز سردرگمی نتیجه ای نداشت.
می توانید در یک حلقه تک تک پوشه های اصلی را گرفته و فقط پوشه هایی که سیستمی نیستند را جستجو کنید:
List<string> files=new List<string>();
string path="e:";
foreach (string folder in Directory.GetDirectories(path))
{
//if you want to get no error uncomment this line to skip system directories.
// if((new DirectoryInfo(folder)).Attributes.HasFlag(FileAttr ibutes.System))
// continue;
try
{
files.AddRange(Directory.GetFiles(folder, "*", SearchOption.AllDirectories));
}
catch
{
MessageBox.Show("access to path " + folder + " is not allowed!", "error",MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
files.AddRange(Directory.GetFiles(path));