GetPathRoot似乎不支持UNC路径。以下代码的结果只是修剪file.txt
string root = Path.GetPathRoot("\\servername.pvt\sub dir\file.txt");
什么是好的解决方法?
答案 0 :(得分:5)
返回值正确。根是共享,而不是服务器!例如:
Path.GetPathRoot(@"\\servername.pvt\sharename\directory\file.txt");
返回@"\\servername.pvt\sharename"
。服务器名称加上共享名称构成路径根目录。
答案 1 :(得分:1)
正如documentation示例所示,对于UNC路径,服务器和共享名称被视为根目录。
如果您只想要服务器名称,那么可以安全地假设服务器之后只存在一个“路径元素”,您可以自行剥离。
答案 2 :(得分:0)
如果你想获得服务器UNC地址认为好的解决方案不是Path.GetPathRoot
使用,只能在第三次\
之后删除所有我认为这将在所有情况下都有效。