如何在Process.Start失败时创建else if语句

我目前正在开发一个AI程序。在我的一个命令中,我使用了Process.Start来打开一个文件。我想知道如何基于Process.Start是否失败来创建一个else if语句。如果Process.Start失败了,我希望它能执行else if语句中的代码块。有人知道怎么做吗?如果我听起来像个新手或其他什么的,我很抱歉。我刚开始编程,而且我只有14岁,所以我还不懂很多东西。

        string r = e.Result.Text;        if (r.Contains("your code"))        {            say("正在打开我的代码");            Process.Start("C:/Users/Sukorow/Desktop/My Creations/Yuki Public Release/Yuki Public Release.sln");        }

这是Process.Start的图片


回答:

如果Process.Start成功,它会返回true,否则返回false,所以你可以这样做:

var process = new Process(){       StartInfo = new System.Diagnostics.ProcessStartInfo()       {           FileName = "[your file]"       }};if (!process.Start()){      // 处理启动失败的情况}

另外,再补充一点,我不建议在代码中硬编码.sln文件的位置。如果你更改了文件夹结构,应用程序就会崩溃,而且任何你分发可执行文件的人都必须拥有与你完全相同的文件夹结构,否则调用将会失败。我建议创建一个App.config文件,请参阅以下文档:https://msdn.microsoft.com/en-us/library/ms184658.aspx

基本思路是,你可以添加一个键值对来存储文件的位置 – 例如

<add key="folderName" value="C:\...."/>

这样你就可以在不需要重新编译的情况下修改它了。

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注