GetPathRoot似乎不支持UNC路徑。從下面的代碼,結果被簡單地修去file.txt的UNC路徑的System.IO.Path.GetPathRoot解決方法
string root = Path.GetPathRoot("\\servername.pvt\sub dir\file.txt");
有什麼好的解決方法嗎?
GetPathRoot似乎不支持UNC路徑。從下面的代碼,結果被簡單地修去file.txt的UNC路徑的System.IO.Path.GetPathRoot解決方法
string root = Path.GetPathRoot("\\servername.pvt\sub dir\file.txt");
有什麼好的解決方法嗎?
返回值是正確的。根是份額,而不是服務器!例如:
Path.GetPathRoot(@"\\servername.pvt\sharename\directory\file.txt");
這將返回@"\\servername.pvt\sharename"
。服務器名稱加上共享名稱構成路徑根。
如果你想獲得服務器UNC地址想到好的解決辦法是不使用Path.GetPathRoot
,只有刪除所有第三\
後,我認爲這將適用於所有情況。
正如documentation示例所示,對於UNC路徑,服務器和共享名稱被視爲根目錄。
如果您只需要服務器名稱,那麼假設您自己可以剝離的服務器之後只存在一個「路徑元素」是安全的。