我想獲取沒有遞歸的文件夾並將其打印到標準輸出。 我有使用遞歸的代碼。我想獲得沒有遞歸的文件夾
static void Main(string[] args) {
WriteDirectories(@"C:\Intel");
Console.ReadKey();
}
static void WriteDirectories(string path) {
string[] dirs = Directory.GetDirectories(path/*, "*", SearchOption.AllDirectories*/);
for(int i = 0; i < dirs.Length; i++) {
Console.WriteLine(dirs[i]);
WriteDirectories(dirs[i]);
}
}
有人可以幫助我得到文件夾,而不使用遞歸?
在這段代碼中,我得到了所有文件夾,至少在testfolder中。在testfolder3是一個文件夾,我無法得到它。
static void WriteDirectories(string path)
{
string[] dirs = Directory.GetDirectories(path/*, "*", SearchOption.AllDirectories*/);
for (int i = 0; i < dirs.Length; i++)
{
Console.WriteLine(dirs[i]);
for (int j = 0; j < dirs[i].Length; j++)
{
break;
string[] dirs1 = Directory.GetDirectories(dirs[i]);
Console.WriteLine(" " + dirs1[j]);
}
}
}
爲什麼?確實,每個遞歸過程都可以轉化爲非遞歸過程,但通常很難編寫和維護。 –
'我不明白'是什麼意思?它從最終結果中錯過了嗎?引發與訪問權限有關的異常? – Alexei