2012-09-05 52 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指令通常是一個好主意。