2

我需要将 .xml 文件保存在计算机上的特定位置。但是位置可以根据用户的选择而改变。

我可以让用户选择(从组合框)到这样的变量:

location = (string)comboBox1.SelectedItem;

但是由于“%location%”部分,我不能使用以下命令来存储我的文件。它说“找不到路径的一部分”

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

谁能帮我解决这个问题……?

谢谢你。

4

4 回答 4

5

String.Format就是你要找的。

string.Format("C:\\...{0}\\Information.xml", location);
于 2013-04-25T13:14:55.407 回答
5

当您使用路径时,您应该始终使用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);
于 2013-04-25T13:19:50.920 回答
3

如果您尝试扩展已使用 % 分隔符键入的环境字符串,例如%environmentVariableName%,您可以使用Environment.ExpandEnvironmentVariables()

例如:

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

这将适用于多个环境变量,只要每个环境变量都用%字符分隔,并且您可以将其他字符串与它们混合。

于 2013-04-25T13:20:04.607 回答
1

您应该使用 string.format 将变量放在路径中:

docSave.Save(string.Format(@"C:......\{0}...\Information.xml", location));
于 2013-04-25T13:14:57.460 回答