| 421 | 420 | ) |
|---|
| 422 | 421 | |
|---|
| 423 | 422 | $(P |
|---|
| 424 | 423 | $(I Aggregate) is evaluated. It must evaluate to an expression |
|---|
| 425 | 424 | of type static array, dynamic array, associative array, |
|---|
| 426 | 425 | struct, class, delegate, or tuple. |
|---|
| 427 | 426 | The $(PS0) is executed, once for each element of the |
|---|
| 428 | 427 | aggregate. |
|---|
| 429 | 428 | At the start of each iteration, the variables declared by |
|---|
| 430 | 429 | the $(I ForeachTypeList) |
|---|
| 697 | 696 | can be one or two variables declared. If one, then the variable |
|---|
| 698 | 697 | is said to be the $(I value) set to the elements of the tuple, |
|---|
| 699 | 698 | one by one. If the type of the |
|---|
| 700 | 699 | variable is given, it must match the type of the tuple contents. |
|---|
| 701 | 700 | If it is not given, the type of the variable is set to the type |
|---|
| 702 | 701 | of the tuple element, which may change from iteration to iteration. |
|---|
| 703 | 702 | If there are |
|---|
| 704 | 703 | two variables declared, the first is said to be the $(I index) |
|---|
| 705 | 704 | and the second is said to be the $(I value). The $(I index) |
|---|
| 706 | 705 | must be of $(B int) or $(B uint) type, it cannot be $(I ref), |
|---|