如何解决这个问题?
我想改变这个:
C:\files\team\business\dev\Source\systems\extension\destination\1.0.1.1\
新值:
价值=“1.0.11”;
你可以得到Name
相应的DirectoryInfo
:
string path = @"C:\files\team\business\dev\Source\systems\extension\destination\1.0.1.1\";
string version = new DirectoryInfo(path).Name;
替代方法:
var path = @"C:\files\team\business\dev\Source\systems\extension\destination\1.0.1.1\";
var value = Path.GetFileName(path.TrimEnd(new[]{'/','\\'}));
// OUTPUT: 1.0.1.1
这基本上删除了任何最后一个目录分隔符,然后将最后一个目录视为文件名,因此它返回最后一个目录。
根据@JeppeStigNielsen下面的评论,这是一个更好的、独立于平台的替代方案。
var value = Path.GetFileName(Path.GetDirectoryName(path));
如果还存在文件名,这将起作用。
var value = Path.GetFileName(Path.GetDirectoryName(".../1.0.1.1/somefile.etc"));
// returns 1.0.1.1