在C#路径中使用变量

时间:2013-04-25 13:13:26

标签: c#

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

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

location = (string)comboBox1.SelectedItem;

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

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

任何人都可以帮助我......?

谢谢。

4 个答案:

答案 0 :(得分:4)

String.Format正是您要找的。

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

答案 1 :(得分:3)

在使用路径时,您应始终使用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);

答案 2 :(得分:1)

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

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

答案 3 :(得分:1)

如果您尝试展开使用%environmentVariableName%等%分隔符输入的环境字符串,则可以使用Environment.ExpandEnvironmentVariables()

例如:

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

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