MC-Basic:SELECT ... CASE/zh-hans

From SoftMC-Wiki
Jump to: navigation, search
语言: English  • 中文(简体)‎

缩写

格式

SELECT CASE <SelectExpression>

{CASE <expression>
{statement_list} }
{CASE IS <relational-operator> <expression>
{statement_list} }
{CASE <expression> TO <expression>
{statement_list} }
{CASE <expression> comma <expression>
{statement_list} }
{CASE ELSE
{statement_list} }

END SELECT

适用版本

All versions

CASE <expression> comma <expression> added in Version 4.7.1

描述

该判断结构启动了对于一个代码段数字的执行,取决于数值<SelectExpression>。 在CASE指令块的第一行,你指定需要测试的一个变量或者表达式。在你已经指定变量或者表达式之后,列表一或者更多的数值或者数值范围可以被变量获取。你可以通过四种方式定义案例:Exact Value, Logical Condition, Range, Else。

如果 <SelectExpression>符合与CASE子句有关的条件,该语句跟随被执行的CASE子句,直至下一句CASE子句,或者最后的END SELECT。之后控制交于跟随着END SELECT的语句。当基于该数值的执行通道较多时,该流控制结构更适合IF...THEN。

<SelectExpression>必要时,作为精确值被比较。使用CASE <expression> 语法。 <SelectExpression>使用 CASE IS <relational-operator> <expression>语法与其他表达式进行逻辑比较。六中关系算子可以被使用(>, >=, <, <=, =, <>)。 <SelectExpression>使用CASE <expression> TO <expression>语法,比较数值范围。 如果你使用TO关键字表达数值的范围,较小的数值比较首先出现。如果最先出现的表达式大于之后出现的,CASE语句会被忽略,错误会被标记。 如果使用CASE ELSE,它关联的语句仅在<SelectExpression>不符合任何其他CASE选择时执行。

类型

取值范围

单位

默认值

使用范围

任务区

限制

在Config.prg中不要使用SELECT CASE SELECT表达式不是关系表达式,也不是数学表达式。 这意味着它不是一个条件。

例子

Program
Dim I as Long
  Select Case I
    Case 0
      Print "I = 0"
    Case 1
      Print "I = 1"
    Case is >= 10
      Print "I >= 10"
    Case is < 0                       'No requirement for statements after Case<0
    Case 5 To 10
      Print "I is between 5 and 10"
    Case 2, 3, 5                      'Added in Version 4.7.1
      Print "I is 2, 3 or 5"
    Case Else
      Print "Any other I value"
  End Select
End Program

参见