2013-05-10 20 views
0

如何在c#中的路徑中創建一個變量?對於像創建一個用戶註冊/登錄/統計。如何製作1個路徑的多個文件?

string UserName = ""; 

string path = @"c:\File\File\" + UserName + ".text"; 

我知道這不工作,也許沒有任何人知道如何去做別的,我四處搜尋,並沒有找到一個解決方案,得到這樣的路徑。

我希望有人能解決它!

+3

究竟是你想做些什麼?你可以通過這種方式完成一個文件名。 – Joel 2013-05-10 23:42:09

+0

你是什麼意思,它不起作用?一點也不清楚你想要做什麼。 – 2013-05-10 23:43:30

+0

如何從UserName中刪除入侵的字符? – user2371778 2013-05-11 00:04:15

回答

0

您可以使用/(斜槓)代替\(反斜線),或者你可以擺脫反斜槓添加另一個反斜槓背後:

string path = "c:\\File\\File\\"+ Username + ".text"; 
+0

,所以你在說每個\添加\並刪除@將解決它的變量洞的事情? – user2371778 2013-05-10 23:47:11

+0

我測試了它,它表示字段初始值設定項不能引用非靜態字段,方法或屬性'Login.PlayerName' – user2371778 2013-05-10 23:50:48

+0

如果'UserName'包含[無效路徑字符](http://msdn.microsoft.com/zh-cn/ us/library/system.io.path.getinvalidpathchars.aspx)創建或使用文件的任何函數都不會接受這個字符串,這兩個都可以用'「\\」'oder'@「\」'它只是一樣另一種方式來寫它 – Venson 2013-05-10 23:53:28

0

這種方式是簡單concating字符串是絕對OK。有喜歡

string.Format功能

StringBuilder類其他方式

這一切是絕對OK,但如果你將是絕對確保您創建一個vaild路徑中使用

Path.Combine

0

不起作用的唯一原因是因爲的轉義字符。以下任何一項都有效;

string path = "c:\\File\\File\\"+ Username + ".txt"; // escape first slash, second appears in string 
string path = @"c:\File\File\"+ Username + ".text"; // take literal string, escape sequences included 
string path = "c:/File/File/"+ Username + ".text"; //forward slash is not an escape 
相關問題