Operatori Bicep

Questo articolo descrive gli operatori Bicep. Gli operatori vengono usati per calcolare i valori, confrontare i valori o valutare le condizioni. Esistono sei tipi di operatori Bicep:

Precedenza e associatività degli operatori

Gli operatori seguenti sono elencati in ordine decrescente di precedenza (la posizione superiore la precedenza). Gli operatori elencati nello stesso livello hanno la precedenza uguale.

Simbolo Tipo di operazione Associatività
( ) [ ] . :: Parentesi, indicizzatori di matrice, funzioni di accesso alle proprietà e accesso alle risorse nidificate Da sinistra a destra
! - Unario Da destra a sinistra
% * / Moltiplicazione Da sinistra a destra
+ - Additive Da sinistra a destra
<= < > >= Relazionale Da sinistra a destra
== != =~ !~ Uguaglianza Da sinistra a destra
&& AND logico Da sinistra a destra
|| OR logico Da sinistra a destra
?? Coalesce Da sinistra a destra
? : Espressione condizionale (ternaria) Da destra a sinistra

Parentesi

Racchiudere un'espressione tra parentesi consente di eseguire l'override della precedenza predefinita dell'operatore Bicep. Ad esempio, l'espressione x + y / z valuta prima la divisione e quindi l'aggiunta. Tuttavia, l'espressione (x + y) / z valuta l'aggiunta prima e la seconda divisione.

Funzione

Gli operatori della funzione di accesso vengono usati per accedere alle risorse e alle proprietà nidificate sugli oggetti.

Operatore Nome Descrizione
[] Funzione di accesso index Accedere a un elemento di una matrice o di una proprietà in un oggetto.
. Funzione di accesso Chiamare una funzione in una risorsa.
:: Funzione di accesso alle risorse nidificata Accedere a una risorsa annidata dall'esterno della risorsa padre.
. Funzione di accesso delle proprietà Accedere alle proprietà di un oggetto.

Confronto

Gli operatori di confronto confrontano i valori e restituiscono true o false.

Operatore Nome Descrizione
>= Maggiore o uguale a Valuta se il primo valore è maggiore o uguale al secondo valore.
> Maggiore di Valuta se il primo valore è maggiore del secondo valore.
<= Minore o uguale a Valuta se il primo valore è minore o uguale al secondo valore.
< Minore di Valuta se il primo valore è minore del secondo valore.
== È uguale a Valuta se due valori sono uguali.
!= Non uguale Valuta se due valori non sono uguali.
=~ Distinzione tra maiuscole e minuscole Ignora il caso per determinare se due valori sono uguali.
!~ Senza distinzione tra maiuscole e minuscole Ignora il caso per determinare se due valori non sono uguali.

Logico

Gli operatori logici valutano valori booleani, restituiscono valori non Null o valutano un'espressione condizionale.

Operatore Nome Descrizione
&& And Restituisce true se tutti i valori sono true.
|| Or Restituisce true se un valore è true.
! Not Nega un valore booleano. Prende un operando.
?? Coalesce Restituisce il primo valore non Null.
? : Espressione condizionale Valuta una condizione per true o false e restituisce un valore.

Null-forgiving

L'operatore null-forgiving elimina tutti gli avvisi nullable per l'espressione precedente.

Operatore Nome Descrizione
! Null-forgiving Elimina tutti gli avvisi nullable per l'espressione precedente.

Numeric

Gli operatori numerici usano numeri interi per eseguire calcoli e restituire valori integer.

Operatore Nome Descrizione
* Moltiplicare Moltiplica due numeri interi.
/ Dividere Divide un numero intero per un numero intero.
% Modulo Divide un numero intero per un numero intero e restituisce il resto.
+ Aggiungere Aggiunge due numeri interi.
- Sottrarre Sottrae un intero da un altro numero intero. Accetta due operandi.
- Meno (unario) Moltiplica un numero intero per -1. Prende un operando.

Nota

Sottrazione e meno usano lo stesso operatore. La funzionalità è diversa perché la sottrazione usa due operandi e meno usa un operando.

Dereferenziazione sicura

L'operatore safe-dereference consente di evitare errori che possono verificarsi quando si tenta di accedere a proprietà o elementi senza conoscere correttamente l'esistenza o il valore.

Operatore Nome Descrizione
<base>.?<property>, <base>[?<index>] Dereferenziazione sicura Applica un accesso a un membro oggetto o un'operazione di accesso degli elementi della matrice al relativo operando solo se l'operando restituisce un valore diverso da Null. In caso contrario, restituisce null.

Passaggi successivi