Show/Hide Toolbars

XSharp

用途

对集合中的所有元素执行语句块

语法

FOREACH  [IMPLIED <idElement> | VAR <idElement> | <idElement> AS <idType>] IN <container>
  <Statements>...
  [EXIT]
  <Statements>...
  [LOOP]
NEXT

备注

在 FoxPro 方言中,也允许使用 FOR EACH 作为两个单独的单词。

在 FoxPro 和 Xbase++ 方言中,ENDFOR 可作为 NEXT 的替代词。

参数

<idElement>将接收 <container> 中元素值的变量名。当使用 IMPLIED 或 VAR 子句时,变量的数据类型将从容器中推断出来。使用 AS <idType> 子句时,这将是变量的数据类型

 

AS <idType>指定数据类型。如果省略,编译器依据编译选项来决定数据类型,或者是 USUAL,或者是由编译器自行决定。

 

<container>支持 IEnumerable() 的 DotNet 对象,如 XBase 数组、.Net 数组或 List<> 等集合

 

EXIT无条件地跳出 FOR、FOREACH、REPEAT 或 DO WHILE 循环,执行 ENDDO 或 NEXT 语句之后的语句。

 

LOOP将控制转移到最近执行的 FOR、FOREACH、REPEAT 或 DO WHILE 语句。

描述

FOREACH 语句是枚举数组或集合中变量的便捷方法。

最好不要在循环内更改迭代变量。如果这样做,编译器会发出警告。

此外,也不建议在循环中更改容器,因为这通常会导致运行时错误。

参见

AEval(), BEGIN SEQUENCE, DO CASE, DO WHILE, IF, EXIT, LOOP