Show/Hide Toolbars

XSharp

用途

有条件地执行语句块

语法

IF <lCondition> [THEN]
 <Statements>...
[ELSEIF <lCondition>]
 <Statements>...
[ELSE]
 <Statements>...
END[IF]

参数

[THEN]添加的 THEN 关键字是可选的,因为 Visual FoxPro 允许使用该关键字。

 

<lCondition>如果该表达式求值为 TRUE,则执行其后的语句,直到下一个 ELSEIF、ELSE 或 ENDIF。 之后,控制分支到下一个 ENDIF 语句之后的语句。

 

ELSE如果前面所有的 IF 和 ELSEIF 条件都评估为 FALSE,则执行 ELSE 之后的语句,直到下一个 ENDIF。 之后,控制分支到下一个 ENDIF 语句之后的语句。

描述

IF 的工作方式是分支到第一个 <lCondition> 之后的语句,该语句的评估结果为 TRUE。 如果所有条件均为 FALSE,则分支到 ELSE 语句(如果指定)后面的语句。 执行一直进行到遇到下一个 ELSEIF、ELSE 或 ENDIF,然后控制分支到下一个 ENDIF 语句后面的第一个语句。

 

控制结构可以嵌套到任意深度。 唯一的要求是每个控制结构都要正确嵌套。

 

注意:IF...ELSEIF...ENDIF 与 DO CASE...ENDCASE 相同,两种语法在性能上都没有优势。 IF 结构也类似于 IIf() 操作符,可以在表达式中使用。

示例

本例使用 IF...ELSEIF...ENDIF 结构对多个条件进行评估:

LOCAL nNumber := 0
 
IF nNumber < 50
 ? "小于 50"
ELSEIF nNumber = 50
 ? "等于 50"
ELSE
 ? "大于 50"
ENDIF

参见

BEGIN SEQUENCE, DO CASE, DO WHILE, FOR, IIf()