如何获取目录名称

kak*_*hoo 6 c# asp.net

我使用此代码获取目录名称:

void DirSearch(string sDir)
    {
        foreach (var d in System.IO.Directory.GetDirectories(sDir))
        {
            ListBox1.Items.Add(System.IO.Path.GetDirectoryName(d));
            DirSearch(d);
        }
    }
Run Code Online (Sandbox Code Playgroud)

但它没有获得目录名称.例如:"NewFolder1",得到:"D:\ aaa\bbbb\cccc\dddd\NewFolder1".

我只获得目录名称.

chr*_*dev 11

这应该工作:

foreach (var d in System.IO.Directory.GetDirectories(@"C:\"))
        {
            var dir = new DirectoryInfo(d);
            var dirName = dir.Name;

            ListBox1.Items.Add(dirName);
        }
Run Code Online (Sandbox Code Playgroud)

另外,你可以快捷...

foreach (var d in System.IO.Directory.GetDirectories(@"C:\"))
        {
            var dirName = new DirectoryInfo(d).Name;
            ListBox1.Items.Add(dirName);
        }
Run Code Online (Sandbox Code Playgroud)

我只是使用C的路线进行测试.


小智 8

有一个简单的单行:

Directory.GetDirectories(PathToFolder).Select(d => new DirectoryInfo(d).Name);
Run Code Online (Sandbox Code Playgroud)