2011-04-22 79 views
5

我的意圖是讓我的應用程序在windows和linux上運行。
該應用程序將使用特定的目錄結構,例如我應該如何處理c/windows中的windows/linux路徑

appdir/ 
     /images 
     /sounds 

什麼是處理文件(路徑)命名Windows和Linux之間的差異的差異的好辦法?我不想爲每個平臺編寫變量。例如僞代碼

if #Win32 
    string pathVar = ':c\somepath\somefile.ext'; 
else 
    string pathVar = '/somepath/somefile.ext'; 

回答

13

可以使用Path.DirectorySeparatorCharacter不變,這將是要麼\/

或者,使用Path.Combine創建路徑,該路徑將自動插入正確的分隔符。

+0

http://www.mono-project.com/Guidelines:Application_Portability#Path_Separators – Eminem 2011-04-22 19:18:33

+0

您的意思是['Path.DirectorySeparatorChar'](https://msdn.microsoft.com/zh-cn/library/system。 io.path.directoryseparatorchar%28V = vs.110%29.aspx)? – 2016-01-04 15:10:36

0

如果您使用的是單聲道。在System.IO.Path類中你會發現:

Path.AltDirectorySeparatorChar 
Path.DirectorySeparatorChar 

希望這有助於!