如果我有一个字符串变量,它具有:
"C:\temp\temp2\foo\bar.txt"
Run Code Online (Sandbox Code Playgroud)
而且我想得到
"富"
做这个的最好方式是什么?
Jon*_*eet 73
使用:
new FileInfo(@"C:\temp\temp2\foo\bar.txt").Directory.Name
Run Code Online (Sandbox Code Playgroud)
我不同意Skeet,但我一直都在使用
Path.GetFileNameWithoutExtension(@"C:\temp\temp2\foo\bar.txt")
Run Code Online (Sandbox Code Playgroud)
我怀疑FileInfo实际上是触及文件系统来获取它的信息,因为我期望GetFileNameWithoutExtension只是字符串操作 - 所以一个在另一个上的性能可能会更好.
我认为最简单的解决方案是
DirectoryInfo dinfo = new DirectoryInfo(path); string folderName= dinfo.Parent.Name;