2012-06-08 49 views
0

可能重複:
Why does GetDirectoryName return null for C:\?GetDirectoryName(@「C:」)返回null - 爲什麼?

通過這個步驟和注意, '文件夾' 將是無效的。 核心庫中是否有某些東西可以使用/添加以確保我可以'將'C:\作爲一個目錄,以便稍後可以將它與另一個目錄結合?這很重要,因爲它「C:\」是我試圖滿足的要求的有效數據使用System.IO時

;

string folder = @"C:\"; 
    folder = Path.GetDirectoryName(folder); 
    string folder2 = Path.Combine(folder, "IWantToCombineThisFolderButIGetException"); 

回答

6

docs

返回值

類型:System.String路徑

指南信息,或者null如果路徑表示一個根目錄或爲空。

如果你需要它不能爲空,只是強制返回值到你想要的值,如\

folder = Path.GetDirectoryName(folder) ?? "\\"; 
+0

我用你的建議以及所用結合「文件夾」路徑與該文件夾的DirectoryInfo.Root。感謝指針 – JohnZaj

+0

實際上,GetFullPath(字符串路徑)更簡單: – JohnZaj