我需要看看路径是否可用,但只在运行时。因此,如果我的程序检查到文件不存在,它会将invalidPath bool设置为“true”,以便它不会再次跳入“File.Exists ...”查询中,只要程序运行即可。C# - 避免代码重复:嵌套如果语句
问题是:如果我像下面列出的那样做,我认为没有可能避免代码冗余。我需要显示一条消息来通知用户关于丢失的文件,但对两个“if”情况使用相同的代码行并不是很优雅。
private bool invalidPath = false
if (!invalidPath)
{
if (File.Exists(temp))
{
//do code
}
else
{
Show.MessageBox("no file found")
invalidPath = true
}
}
else
{
Show.Messagebox("no file found") /*<---thats redundant*/
}
我希望有人能给我一个主意。
如果我结合这两个语句,程序/方法将搜索该文件每次当它被称为(通过错误和正确路径),而这正是我试图阻止,因为一直搜索文件会花费不必要的运行时间。 – Klunky
@Klunky实际上,如果第一个条件失败,甚至不会评估以下条件。这被称为“短路”。你可以在这里阅读更多:https://msdn.microsoft.com/en-us/library/2a723cdk(v=vs.71).aspx – omerkarj
哦,我不知道(我没有那么多的经验在C# /。净)。这非常有用。 它减少了一个if语句并且不需要其他变量。这对我来说很理想,谢谢! – Klunky