我在我的应用程序之一中使用文件夹对话框。当选择一个目录并将其分配给另一个字符串时,我得到一个类似的值C:\\test
对于某些作业,我想要 的值c:\test
。
我在 stackoverflow 上进行了研究,但没有找到任何有效的答案。我尝试了各种替换,但不起作用。
任何帮助将不胜感激。
代码:
private void label1_Click(object sender, EventArgs e)
{
folderBrowserDialog1.ShowNewFolderButton = false;
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
string p = @folderBrowserDialog1.SelectedPath; //=> Selected C:\ACTNT
//removing @ in front of folderBrowserDialog1 does not change the situation
strPathName.Text = p; // => display c:\ACNT
con = "database = " + p; // => actual value "database = c:\\ACNT"
UpdateTableName();
}
}
Run Code Online (Sandbox Code Playgroud)
如果我手动输入strPathName
as C:\ACNT
,程序运行正常。
到目前为止,其他答案都在谈论分配字符串文字,但听起来你无论如何都是通过 GUI获取这个字符串的,在这种情况下这是无关紧要的。
相关的是您如何确定该字符串实际上是c:\\test
. 我强烈怀疑您正在调试器中查看它 - 调试器在显示字符串时会自动应用 C# 转义。
如果您只是将其打印到屏幕上,或者甚至逐个字符地举例(例如 call ToCharArray()
),我想您会发现它只有一个反斜杠。不要被调试器愚弄了。
归档时间: |
|
查看次数: |
689 次 |
最近记录: |