【发布时间】:2018-02-12 22:42:24
【问题描述】:
我需要通过单击表单上的按钮来运行某种应用程序, 我说的是 WPF 桌面应用程序,以及作为一种编程语言的 C#,今天我遇到了一个问题,我试图在我的按钮按下时运行某种应用程序,但我用调试器意识到我的路径是这样写的:(我在我的 Settings.setting 文件中保留了路径,并且我没有使用双反斜杠,这是我的第一个问题,为什么我的路径看起来像这样,在下面提到。)
C:\\MyComputer\\MyApplication\\Application.exe
我需要用单反斜杠写,我尝试做的发布在下面:
private void OpenApplication_Click(object sender, MouseButtonEventArgs e)
{
string path = Globals.MyApplicationPath;
string path2 = path.Replace(@"\\", @"\");
//path2 is still dobule backshashed :(
if (Directory.Exists(path2))
{
ProcessStartInfo start = new ProcessStartInfo();
start.FileName = Globals.MyApplicationPath;
Process.Start(start);
}
else
{
MessageBox.Show("Path is not correct.");
}
}
我意识到Directory.Exists(path2) 总是错误的,所以它实际上意味着我的路径不存在,即使它存在,所以我想我需要删除“\\”并用“\”替换它:)
【问题讨论】:
-
why is my path looking like that这是您在调试器窗口中看到的内容。使用 放大镜 图标以文本形式查看内容。 stackoverflow.com/a/26379763/932418 -
@L.B 使用放大镜图标我的值看起来不错,但即使该路径 100% 存在,它也总是错误的 .. :/
-
如果路径在设置中没有斜杠,那么它在代码中不会有斜杠。您只是在查看 C# 处理该字符的方式。路径不存在。你认为确实如此。那是你的问题。再仔细看看。按照建议使用放大镜图标抓取字符串并将其直接粘贴到资源管理器中,看看它是否打开了文件夹。
-
@Juan 这就是我测试它的方式,抓住放大镜图标显示的值并将其粘贴到资源管理器中,然后运行应用程序,而 Directory.Exist 说我的路径不存在:)
-
请发布调试器屏幕快照和资源管理器中文件夹的快照。
标签: c# wpf string replace settings