2013-04-25 119 views
1

我需要將.xml文件保存在計算機上的特定位置。但是可以根據用戶的選擇來改變位置。在C#路徑中使用變量

我可以得到用戶選擇(從組合框),以這樣的變量:

location = (string)comboBox1.SelectedItem; 

但我不能用下面的命令來存儲,因爲「%位置%」的一部分我的文件。它說:「找不到路徑的一部分」

docSave.Save(@"C:\...\...\%location%\...\Information.xml"); 

誰能幫助我關於那個...。?

謝謝。

+0

用戶實際輸入字符串的哪一部分?整個''C:...... \%location%... \ Information.xml「'字符串? – 2013-04-25 13:16:22

回答

1

你應該總是使用當你與路徑工作Path類,所以,如果你想獲得一個由多個部分的工作路徑,使用Path.Combine

string location = (string)comboBox1.SelectedItem; 
string dir = "C:\dir1\dir2\%location%\dir4".Replace("%location%", location); 
string filename = "Information.xml"; 
string fullPath = Path.Combine(dir, filename); 
4

String.Format是你在找什麼。

string.Format("C:\\...{0}\\Information.xml", location); 
1

您應該使用的String.Format把變量路徑:

docSave.Save(string.Format(@"C:......\{0}...\Information.xml", location)); 
1

如果你正在試圖擴大已用%分隔符,如類型的環境字符串,您可以使用Environment.ExpandEnvironmentVariables()

例如:

string expandedEnvString = Environment.ExpandEnvironmentVariables("%SystemRoot%\\Something"); 

這將多個環境變量的工作,只要每個被分隔的%字符,你可以有其他的字符串與它們混合。