2

コンピューターの特定の場所に .xml ファイルを保存する必要があります。ただし、ユーザーの選択に基づいて場所を変更できます。

次のように、ユーザーの選択を (コンボボックスから) 変数に取得できます。

location = (string)comboBox1.SelectedItem;

しかし、「%location%」の部分が原因で、次のコマンドを使用してファイルを保存できません。「パスの一部が見つかりませんでした」と表示されます

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

それに関して誰か助けてくれませんか….?

ありがとうございました。

4

4 に答える 4

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 に答える
5

String.Formatあなたが探しているものです。

string.Format("C:\\...{0}\\Information.xml", location);
于 2013-04-25T13:14:55.407 に答える
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 に答える