Freigeben über


Bedingte Ausdrücke: if...then...else

Der if...then...else Ausdruck führt verschiedene Codezweige aus und wertet abhängig vom angegebenen booleschen Ausdruck auch auf einen anderen Wert aus.

Syntax

if boolean-expression then expression1 [ else expression2 ]

Bemerkungen

In der vorherigen Syntax wird Expression1 ausgeführt, wenn der boolesche Ausdruck ausgewertet wird true; andernfalls wird Expression2 ausgeführt.

Wie bei anderen Sprachen kann das if...then...else Konstrukt zum bedingten Ausführen von Code verwendet werden. In F# if...then...else ist ein Ausdruck und erzeugt einen Wert von der Ausgeführten Verzweigung. Die Typen der Ausdrücke in jeder Verzweigung müssen übereinstimmen.

Wenn keine explizite else Verzweigung vorhanden ist, lautet unitder Gesamttyp , und der Typ der then Verzweigung muss ebenfalls sein unit.

Beim Verketten von if...then...else Ausdrücken können Sie das Schlüsselwort elif anstelle von else if; sie sind gleichwertig.

Beispiel

Im folgenden Beispiel wird die Verwendung des if...then...else Ausdrucks veranschaulicht.

let test x y =
  if x = y then "equals"
  elif x < y then "is less than"
  else "is greater than"

printfn "%d %s %d." 10 (test 10 20) 20

printfn "What is your name? "
let nameString = System.Console.ReadLine()

printfn "What is your age? "
let ageString = System.Console.ReadLine()
let age = System.Int32.Parse(ageString)

if age < 10 then
    printfn "You are only %d years old and already learning F#? Wow!" age
10 is less than 20
What is your name? John
How old are you? 9
You are only 9 years old and already learning F#? Wow!

Siehe auch