(C#) 转义字符串
(C#) unescape string
我有以下代码:
string fFileName = @txtSelectedFolder.Text + "\" + file.Name;
txtSelectedFolder.text 仅包含文件夹路径(例如:c:\temp\test)
file.name 是一种 FileInfo 类型,其中名称包含对文件集合中当前选定文件的引用。
只要我使用上面的代码,我的 fFileName var 就会充满转义字符串,例如 c:\temp\test\filename.ext
我如何确保 fFileName 包含文件文件夹(和名称)的未转义版本
您在添加额外的怪癖时没有使用文字 (\
)。这将意味着您的字符串在编译时将转义 \
并给您留下一个麻烦。
改变你的行:
string fFileName = @txtSelectedFolder.Text + "\" + file.Name;
至
string fFileName = txtSelectedFolder.Text + @"\" + file.Name;
您不需要变量前面的 @
文字符号。
或者:
您可以改用
string fFileName = Path.Combine(txtSelectedFolder.Text, file.Name);
正确地将文件名连接到所选文件的路径。
我有以下代码:
string fFileName = @txtSelectedFolder.Text + "\" + file.Name;
txtSelectedFolder.text 仅包含文件夹路径(例如:c:\temp\test)
file.name 是一种 FileInfo 类型,其中名称包含对文件集合中当前选定文件的引用。
只要我使用上面的代码,我的 fFileName var 就会充满转义字符串,例如 c:\temp\test\filename.ext
我如何确保 fFileName 包含文件文件夹(和名称)的未转义版本
您在添加额外的怪癖时没有使用文字 (\
)。这将意味着您的字符串在编译时将转义 \
并给您留下一个麻烦。
改变你的行:
string fFileName = @txtSelectedFolder.Text + "\" + file.Name;
至
string fFileName = txtSelectedFolder.Text + @"\" + file.Name;
您不需要变量前面的 @
文字符号。
或者:
您可以改用
string fFileName = Path.Combine(txtSelectedFolder.Text, file.Name);
正确地将文件名连接到所选文件的路径。