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
- Per creare un file Bicep, vedere Avvio rapido: Creare file Bicep con Visual Studio Code.
- Per informazioni su come risolvere gli errori di tipo Bicep, consultare Qualsiasi funzione per Bicep.
- Per confrontare la sintassi per Bicep e per JSON, consultare Confronto tra JSON e Bicep per modelli.
- Per esempi di funzioni Bicep, consultare Funzioni Bicep.