2012-09-05 115 views
0

我对编程有点新,并且基于我在网络和我正在学习自学的书籍上阅读的少数资源,他们能够定义IF THEN和SELECT CASE条件语句是什么,但没有比较为什么我会使用另一种条件语言,以及最佳实践决定了这一点。有条件的陈述 - 如果然后与选择案例

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

我在理解何时使用IF THEN语句以及何时使用SELECT CASE语句以及使用什么最佳实践来定义此决策时遇到困难。

任何有识之士将不胜感激!

+0

如果您喜欢,您应该接受答案。如果您不喜欢任何答案,请进行后续澄清。 – nalply

回答

0

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

然后你会想写一个switch case块。它会使代码更具可读性。从技术上讲,或者人们会让代码工作,但是如果语句大约在4个左右之后使用switch case块,这是常规的。

0

SELECT...CASEIf/Then/Else条件语句之间的实际差别是在IF/THEN/ELSE使用多个不同的条件的能力和相应的必要在contitional每个如果/ elseif的条件重新评估的任何变量的值。由于每个CASE条件只能进行一次单一的评估,编译器对其进行了优化,只对条件变量进行单一评估。每次需要评估一个变量时,这意味着一次访问一个内存位置。在现代系统中,这种情况发生得非常快,但如果你为数百万交易进行优化,每次都会减少内存通道数。希望这是有道理的。

2

这是很简单的:

  • IF则用于一般条件(布尔条件)
  • SELECT情况下使用时,你要根据表达的值做不同的事情(可以解析为值),当你为不同的值有多个选择时它很有用,因为语句更具可读性并且可以以更高效的方式进行编译

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