Logische Bicep-Operatoren

Die logischen Operatoren werten boolesche Werte aus, geben Werte ungleich NULL zurück oder werten einen bedingten Ausdruck aus. Verwenden Sie zum Ausführen der Beispiele die Azure-Befehlszeilenschnittstelle (Azure CLI) oder Azure PowerShell, um eine Bicep-Datei bereitzustellen.

Operator Name
&& Und
|| Oder
! Not
?? Zusammenfügen
? : Bedingter Ausdruck

Und &&

operand1 && operand2

Ermittelt, ob beide Werte wahr (TRUE) sind.

Operanden

Operand type Beschreibung
operand1 boolean Der erste Wert, für den überprüft werden soll, ob er wahr ist.
operand2 boolean Der zweite Wert, für den überprüft werden soll, ob er wahr ist.
Weitere Operanden boolean Es können weitere Operanden eingeschlossen werden.

Rückgabewert

True, wenn beide Werte wahr sind, andernfalls wird false zurückgegeben.

Beispiel

Wertet einen Satz von Parameterwerten und einen Satz von Ausdrücken aus.

param operand1 bool = true
param operand2 bool = true

output andResultParm bool = operand1 && operand2
output andResultExp bool = 10 >= 10 && 5 > 2

Ausgabe des Beispiels:

Name type Wert
andResultParm boolean true
andResultExp boolean true

Um die Ausnahme Die Sprachausdruckseigenschaft „foo“ ist nicht vorhanden bei Bicep-Objekten zu vermeiden, können Sie den logischen Operator And verwenden, wie im folgenden Beispiel gezeigt:

param objectToTest object = {
  one: 1
  two: 2
  three: 3
}

output bar bool = contains(objectToTest, 'four') && objectToTest.four == 4

Oder ||

operand1 || operand2

Ermittelt, ob einer der beiden Werte wahr (TRUE) ist.

Operanden

Operand type Beschreibung
operand1 boolean Der erste Wert, für den überprüft werden soll, ob er wahr ist.
operand2 boolean Der zweite Wert, für den überprüft werden soll, ob er wahr ist.
Weitere Operanden boolean Es können weitere Operanden eingeschlossen werden.

Rückgabewert

True, wenn einer der Werte wahr ist, andernfalls wird false zurückgegeben.

Beispiel

Wertet einen Satz von Parameterwerten und einen Satz von Ausdrücken aus.

param operand1 bool = true
param operand2 bool = false

output orResultParm bool = operand1 || operand2
output orResultExp bool = 10 >= 10 || 5 < 2

Ausgabe des Beispiels:

Name type Wert
orResultParm boolean true
orResultExp boolean true

Um die Ausnahme Der Arrayindex 'x' der Sprachausdruckseigenschaft liegt außerhalb des zulässigen Bereichs zu vermeiden, können Sie den logischen Operator Or verwenden, wie im folgenden Beispiel gezeigt:

param emptyArray array = []
param numberArray array = [1, 2, 3]

output foo bool = empty(emptyArray) || emptyArray[0] == 'bar'
output bar bool = length(numberArray) >= 3 || numberArray[3] == 4

Nicht !

!boolValue

Negiert einen booleschen Wert.

Operand

Operand type Beschreibung
boolValue boolean Boolescher Wert, der negiert wird.

Rückgabewert

Negiert den Anfangswert und gibt einen booleschen Wert zurück. Wenn der Anfangswert true ist, wird false zurückgegeben.

Beispiel

Der not-Operator negiert einen Wert. Die Werte können in Klammern eingeschlossen werden.

param initTrue bool = true
param initFalse bool = false

output startedTrue bool = !(initTrue)
output startedFalse bool = !initFalse

Ausgabe des Beispiels:

Name type Wert
startedTrue boolean false
startedFalse boolean true

Zusammenfügen ??

operand1 ?? operand2

Gibt den ersten Wert der Operanden zurück, der ungleich NULL ist.

Operanden

Operand type BESCHREIBUNG
operand1 Zeichenfolge, ganze Zahl, boolescher Wert, Objekt, Array Der Wert, für den getestet werden soll, ob er null ist.
operand2 Zeichenfolge, ganze Zahl, boolescher Wert, Objekt, Array Der Wert, für den getestet werden soll, ob er null ist.
Weitere Operanden Zeichenfolge, ganze Zahl, boolescher Wert, Objekt, Array Der Wert, für den getestet werden soll, ob er null ist.

Rückgabewert

Gibt den ersten Wert zurück, der ungleich NULL ist. Für leere Zeichenfolgen, Arrays und Objekte wird der Wert <empty> zurückgegeben, da sie nicht null sind.

Beispiel

Die Ausgabeanweisungen geben die Werte zurück, die ungleich NULL sind. Der Ausgabetyp muss mit dem Typ im Vergleich übereinstimmen. Andernfalls wird ein Fehler generiert.

param myObject object = {
  isnull1: null
  isnull2: null
  string: 'demoString'
  emptystr: ''
  integer: 10
  }

output nonNullStr string = myObject.isnull1 ?? myObject.string ?? myObject.isnull2
output nonNullInt int = myObject.isnull1 ?? myObject.integer ?? myObject.isnull2
output nonNullEmpty string = myObject.isnull1 ?? myObject.emptystr ?? myObject.string ?? myObject.isnull2

Ausgabe des Beispiels:

Name type Wert
nonNullStr Zeichenfolge demoString
nonNullInt INT 10
nonNullEmpty Zeichenfolge <empty>

Bedingter Ausdruck ? decodiert werden:

condition ? true-value : false-value

Wertet eine Bedingung aus und gibt einen Wert zurück, der angibt, ob die Bedingung wahr (TRUE) oder nicht wahr (FALSE) ist.

Operanden

Operand type Beschreibung
condition boolean Bedingung, die als wahr oder falsch ausgewertet werden soll.
true-value Zeichenfolge, ganze Zahl, boolescher Wert, Objekt, Array Wert, wenn die Bedingung wahr ist.
false-value Zeichenfolge, ganze Zahl, boolescher Wert, Objekt, Array Wert, wenn die Bedingung nicht wahr ist.

Beispiel

In diesem Beispiel wird der Anfangswert eines Parameters ausgewertet und ein Wert zurückgegeben, der angibt, ob die Bedingung wahr oder nicht wahr ist.

param initValue bool = true

output outValue string = initValue ? 'true value' : 'false value'

Ausgabe des Beispiels:

Name type Wert
outValue Zeichenfolge true value

Nächste Schritte