如下只可列出指定目录下的所有目录(不含子目录)
public string GetDir(string dir)
{
string strDirlist = Server.MapPath(""); DirectoryInfo thisOne = new DirectoryInfo(strDirlist);
DirectoryInfo[] subDirectories = thisOne.GetDirectories();//获得目录 string str = "";
foreach (DirectoryInfo dirinfo in subDirectories)
{
str = str + dirinfo.FullName.ToString().Replace(Server.MapPath("") + "\\", "") + "\n"; } return str;
}我要把它改为递归,以列出目录下的所有子目录,如何改?
public string GetDir(string dir)
{
string strDirlist = Server.MapPath(""); DirectoryInfo thisOne = new DirectoryInfo(strDirlist);
DirectoryInfo[] subDirectories = thisOne.GetDirectories();//获得目录 string str = "";
foreach (DirectoryInfo dirinfo in subDirectories)
{
str = str + dirinfo.FullName.ToString().Replace(Server.MapPath("") + "\\", "") + "\n"; } return str;
}我要把它改为递归,以列出目录下的所有子目录,如何改?
=>
DirectoryInfo[] subDirectories = Directory.GetDirectories(strDirlist, "*", SearchOption.AllDirectories).Select(x => new DirectoryInfo(x)).ToArray();
后面的for不需要了