2011-11-29 152 views
0

我用我的代碼路徑:路徑不被硬編碼

「C:\用戶\」 + Environment.UserName + 「\文檔\ Visual Studio 2005中\加載項\」

但我不希望它被硬編碼。有沒有一種方法可以通過代碼獲取它,例如Path類?

回答

8

我認爲你正在尋找Environment.SpecialFolder.MyDocumentsEnvironment.GetFolderPath

string myDocuments = Environment.GetFolderPath 
    (Environment.SpecialFolder.MyDocuments); 
string addins = Path.Combine(myDocuments, "Visual Studio 2005", "Addins"); 

編輯:Pre-.NET 4,最後一行是:

string addins = Path.Combine(Path.Combine(myDocuments, "Visual Studio 2005"), 
          "Addins"); 
+0

@Srcee - ' Path.Combine(params string [])'僅在.NET 4中,並且不能像這樣鏈接它,因爲它返回的是一個「字符串」而不是「Path」對象,而'string'沒有合併。如果你不能移動到.NET 4,[試試這個](http://stackoverflow.com/a/760641/721276) –

+0

我解決了它。但是,我在VS 2005(.Net 2.0)中工作,那麼爲什麼我的程序在Path.Combine用於.NET 4.0時工作? –

+1

@Scree - 在.NET 1.1和更高版本中存在''Path.Combine(string,string)',我指的是.NET 4.0的該方法的特定重載(對於2,3和4參數也有重載) –

1

,它會給你... \文件:

Environment.GetFolderPath(Environment.SpecialFolder.Personal)

+3

剛剛注意到喬恩的帖子 - 個人是相當於MyDocuments,萬一你想知道。 –