C# 使用C将文件名封装在app.config文件中#
是否可以将文件名封装在app.config文件中并在代码中使用它们 例如,此代码可以完美地工作:C# 使用C将文件名封装在app.config文件中#,c#,.net,xml,app-config,filenames,C#,.net,Xml,App Config,Filenames,是否可以将文件名封装在app.config文件中并在代码中使用它们 例如,此代码可以完美地工作: string folder = @"C:\CDR_FTP1\ttfiles_exported\"; 如果我想从app.config文件中获取上述值 有可能吗 语法是什么 例如,在app.config中,我可以尝试使用以下内容: <add key="InputDir" value=@"D:\CDR_FTP1\ttfiles_exported\" /> 如果我尝试在下面的代码中使用它,这
string folder = @"C:\CDR_FTP1\ttfiles_exported\";
如果我想从app.config文件中获取上述值
<add key="InputDir" value=@"D:\CDR_FTP1\ttfiles_exported\" />
如果我尝试在下面的代码中使用它,这很好,但是我需要在哪里以及如何粘贴“@”,应用程序才能正确读取它?
string folder = ConfigurationSettings.AppSettings["InputDir"];
只需使用:
<add key="InputDir" value="D:\CDR_FTP1\ttfiles_exported\" />
无需在XML属性中转义
\
。展开Kirill的答案:
XML属性中的特殊字符与C#字符串中的特殊字符不同
在C#中,字符“\”是字符串转义字符,您可能知道,它用于表示转义序列,如行尾的“\n”;因此,需要将其转义为“\\”或使用@”
在XML中,属性值中的“\”没有特殊含义,可以按原样使用。对于“&”和“'”字符以及其他字符,情况并非如此。如果要包含该值:
M & M "The chocolates"
在app.config中,必须对其进行转义,以便:
<add key="SomeString" value="M & M "The chocolates"" />
因此,如果我将值放在app.config中,我根本不需要对代码中的“@”做任何事情——正确吗?在c#中使用前缀@
和字符串,称为逐字字符串文字
。当您想要避免转义像\这样的字符时,它很有用,这些字符会在文件路径中多次出现。有关详细信息,请参阅
<add key="SomeString" value="M & M "The chocolates"" />