2013-04-25 87 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"); 

这将多个环境变量的工作,只要每个被分隔的%字符,你可以有其他的字符串与它们混合。