0

我对编程有点陌生,根据我在网上阅读的少数资料和我正在学习自学的书籍,他们能够定义什么是 IF THEN 和 SELECT CASE 条件语句,但是有未能比较为什么我会使用一个而不是另一个,以及什么最佳实践决定了这一点。

如果我正确理解这些条件语句,那么两者都基于一组条件,其结果基于满足这些条件,如果不满足条件,则可以定义替代结果。

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

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

4

3 回答 3

3

这很简单:

  • IF THEN 用于一般条件(布尔条件)
  • 当您想根据表达式的值(解析为值)做不同的事情时使用 SELECT CASE 并且当您对不同的值有多种选择时它很有用,因为该语句更具可读性并且可能以更有效的方式编译方法

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

于 2012-09-05T03:35:10.880 回答
1

本质上,你可以对两者做同样的事情。如果你发现自己写了大量的 if 语句:
if
else if
else if
else if
else if
etc. 。.

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

于 2012-09-05T03:34:43.273 回答
0

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

于 2012-09-05T03:34:50.707 回答