Условные операторы

Операторы выбора используются для изменения пути выполнения программы в зависимости от значения какого-либо выражения. В Fore.NET имеются следующие условные операторы:

Условный оператор ?: возвращает одно из двух значений в зависимости от значения передаваемого логического выражения.

Если выражение возвращает значение True, то вычисляется и становится результатом выражение, следующее за символом «?». Если выражение возвращает значение False, то вычисляется и становится результатом выражение, следующее за символом «:». В любом случае возвращается только одно из двух выражений.

Пример

Imports System;
Imports System.Diagnostics;

Sub TestChoice();
Var
    RndObj: Random = New Random();
    i, j: Double;
Begin
    i := RndObj.NextDouble();
    j := RndObj.NextDouble();
    Debug.WriteLine(i > j ? "i>j" : "i<j");
End Sub;

Оператор If используется для выбора одного из возможных путей выполнения программы в зависимости от значения логического выражения.

Оператор выполняется следующим образом:

Пример

Sub TestIf();
Var
    a, b: Integer;
    c: Double;
Begin
    //...
    //Получение значений a, b, c
    //...
    If (a > b) And (b > c) Then
        c := a - b;
    Elseif (a < b) And (b < c) Then
        c := b - a;
    Else
        c := (a + b) / 2
    End If;
    //...
End Sub;

Оператор Select используется для выбора списка операторов для выполнения, которым соответствуют определенные метки,  путем сопоставления метки со значением выражения. В заголовке оператора Select указывается выражение посредством вычисления которого будет определяться выполняемый блок операторов. Тип выражения в заголовке оператора называется определяющим типом. Константные выражения в списках меток должны иметь значения, которые могут быть неявно приведены к определяющему типу оператора. Если два или более значений меток имеют одинаковое значение возникает ошибка компиляции.

Оператор Select выполняется следующим образом:

Пример

Function TestSelect(a: integer): string;
Begin
    Select Case a
        Case 0Return "A=0";
        Case 1Return "A=1";
        Case 2Return "A=2";
        Else Return "A<>[0,2]";
    End Select;
End Function;

См. также:

Руководство по языку Fore.NET