Condividi tramite


Operatori logici Bicep

Gli operatori logici valutano valori booleani, restituiscono valori non Null o valutano un'espressione condizionale. Per eseguire gli esempi, usare l'interfaccia della riga di comando di Azure o Azure PowerShell per distribuire un file Bicep.

Operatore Nome
&& And
|| Or
! Not
?? Unire
? : Espressione condizionale

E &&

operand1 && operand2

Determina se entrambi i valori sono true.

Operandi

Operand Tipo Descrizione
operand1 boolean Primo valore da verificare se true.
operand2 boolean Secondo valore da controllare se true.
Altri operandi boolean È possibile includere altri operandi.

Valore restituito

True quando entrambi i valori sono true, in caso contrario false viene restituito.

Esempio

Valuta un set di valori di parametro e un set di espressioni.

param operand1 bool = true
param operand2 bool = true

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

Output dell'esempio:

Nome Type Valore
andResultParm boolean true
andResultExp boolean true

Per evitare l’eccezione La proprietà dell'espressione di linguaggio 'foo' non esiste con gli oggetti Bicep, è possibile usare l'operatore logico And come illustrato nell'esempio seguente:

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

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

Oppure ||

operand1 || operand2

Determina se uno dei due valori è true.

Operandi

Operand Tipo Descrizione
operand1 boolean Primo valore da verificare se true.
operand2 boolean Secondo valore da controllare se true.
Altri operandi boolean È possibile includere altri operandi.

Valore restituito

True quando uno dei due valori è true, in caso contrario false viene restituito.

Esempio

Valuta un set di valori di parametro e un set di espressioni.

param operand1 bool = true
param operand2 bool = false

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

Output dell'esempio:

Nome Type Valore
orResultParm boolean true
orResultExp boolean true

Per evitare l’eccezione L’indice della matrice di proprietà dell'espressione di linguaggio 'x' non è incluso nei limiti, è possibile usare l'operatore logico Or, come illustrato nell'esempio seguente:

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

Non!

!boolValue

Nega un valore booleano.

Operand

Operand Tipo Descrizione
boolValue boolean Valore booleano negato.

Valore restituito

Nega il valore iniziale e restituisce un valore booleano. Se il valore iniziale è true, false viene restituito.

Esempio

L'operatore not nega un valore. I valori possono essere racchiusi tra parentesi.

param initTrue bool = true
param initFalse bool = false

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

Output dell'esempio:

Nome Type Valore
startedTrue boolean false
startedFalse boolean true

Unire ??

operand1 ?? operand2

Restituisce il primo valore non Null dagli operandi.

Operandi

Operand Tipo Descrizione
operand1 stringa, integer, boolean, oggetto, matrice Valore da testare per null.
operand2 stringa, integer, boolean, oggetto, matrice Valore da testare per null.
Altri operandi stringa, integer, boolean, oggetto, matrice Valore da testare per null.

Valore restituito

Restituisce il primo valore non Null. Le stringhe vuote, le matrici vuote e gli oggetti vuoti non sono null e viene restituito un valore <vuoto>.

Esempio

Le istruzioni di output restituiscono i valori non Null. Il tipo di output deve corrispondere al tipo nel confronto o viene generato un errore.

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

Output dell'esempio:

Nome Type Valore
nonNullStr string demoString
nonNullInt int 10
nonNullEmpty string <empty>

Espressione condizionale ? :

condition ? true-value : false-value

Valuta una condizione e restituisce un valore se la condizione è true o false.

Operandi

Operand Tipo Descrizione
condition boolean Condizione da valutare come true o false.
true-value stringa, integer, boolean, oggetto, matrice Valore quando la condizione è true.
false-value stringa, integer, boolean, oggetto, matrice Valore quando la condizione è false.

Esempio

In questo esempio viene valutato l'oggetto iniziale di un parametro e viene restituito un valore che indica se la condizione è true o false.

param initValue bool = true

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

Output dell'esempio:

Nome Type Valore
outValue string valore true

Passaggi successivi