条件语句 - 如果然后与选择案例

时间:2012-09-05 03:31:20

标签: vb.net

我对编程有点新意,基于我在网上阅读的几个来源以及我正在学习自学的书籍,他们能够定义IF THEN和SELECT CASE条件语句是什么,但未能对比为什么我会使用一个而不是另一个以及最佳实践决定这一点。

如果我正确地理解这些条件陈述,那么两者都基于一组条件,其结果基于满足这些条件,并且如果没有满足条件,则可以定义替代结果。

我无法理解何时使用IF THEN语句,何时使用SELECT CASE语句,以及使用哪些最佳实践来定义此决策。

对此有任何见解将不胜感激!

3 个答案:

答案 0 :(得分:2)

这很简单:

  • IF THEN用于通用条件(布尔条件)
  • 当您想根据表达式(解析为值)的值执行不同的操作时使用SELECT CASE,当您对不同的值有多个选项时,它会很有用,因为该语句更多可读的,可以以更有效的方式编译

当你看到你在同一个表达式的链中使用3-4个if / else语句时,那么使用case指令通常是一个好主意。

答案 1 :(得分:0)

基本上,你可以对两者做同样的事情。如果你发现自己写了很多if语句:
如果
否则如果
否则如果
否则如果
否则如果
等。 。

然后你想写一个switch case block。它会使代码更具可读性。从技术上讲,任何一个都可以使代码工作,但在大约4个左右的if语句之后使用switch case块是常规的。

答案 2 :(得分:0)

SELECT...CASEIf/Then/Else条件之间的真正区别在于能够在If / Then / Else中使用多个不同的条件,并且相应的需要重新评估每个If中的任何变量值。 / ElseIf条件。由于每个CASE条件只能进行一次单一的评估,因此编译器会对其进行优化,以便仅为条件变量进行一次评估。每次需要评估变量时,这意味着访问内存位置。在现代系统中,这种情况发生得非常快,但如果您针对数百万次交易进行优化,则每次下行内存通道计数。希望这是有道理的。