首页 > 解决方案 > 在 C# 中使用表示文件路径的字符串变量?

问题描述

我有一个名为 path 的变量,它是我程序中的外部输入。

例如 path = "C:\OpenSSL-Win64\bin\public_privatekey.pfx";

我想将路径转换为 ​​@"C:\OpenSSL-Win64\bin\public_privatekey.pfx" 以便反斜杠不会读取为转义字符。外部输入不能在输入中手动添加双反斜杠。即不能输入“C:\\OpenSSL-Win64\\bin\\public_privatekey.pfx”。有没有办法做到这一点?

标签: c#escapingfilepath

解决方案


如果您的字符串来自外部源并且没有硬编码,例如您从文件中读取它,那么该字符串已经转义。你不需要做任何进一步的转义。试试看:

var path = GetThePath();
ConSole.WriteLine(path); // prints C:\OpenSSL-Win64\bin\public_privatekey.pfx

path要验证在调试时只需将鼠标移到- 变量上:

在此处输入图像描述 但是,如果您自己键入字符串,则需要转义斜杠:

var path = "C:\\OpenSSL-Win64\\bin\\public_privatekey.pfx";

甚至通过逐字添加更简单:

var path = @"C:\OpenSSL-Win64\bin\public_privatekey.pfx";

推荐阅读