Opérateurs Bicep

Cet article décrit les opérateurs Bicep. Ces opérateurs sont utilisés pour calculer et comparer des valeurs, ou évaluer des conditions. Il existe six types d’opérateurs Bicep :

Priorité des opérateurs et associativité

Les opérateurs ci-dessous sont répertoriés par ordre de priorité décroissant (plus la position est élevée, plus la priorité est élevée). Les opérateurs de même niveau ont une priorité identique.

Symbole Type d’opération Associativité
( ) [ ] . :: Parenthèses, indexeurs de tableaux, accesseurs de propriété et accesseur de ressource imbriquée De gauche à droite
! - Unaire De droite à gauche
% * / Multiplicatif De gauche à droite
+ - Additive De gauche à droite
<= < > >= Relationnel De gauche à droite
== != =~ !~ Égalité De gauche à droite
&& ET logique De gauche à droite
|| OU logique De gauche à droite
?? Coalesce De gauche à droite
? : Expression conditionnelle (terniaire) De droite à gauche

Parenthèses

La délimitation d’une expression entre parenthèses vous permet de substituer la priorité d’opérateur Bicep par défaut. Par exemple, l’expression x + y / z évalue d’abord la division, puis l’addition. En revanche, l’expression (x + y) / z évalue d’abord l’addition, puis la division.

Accesseur

Les opérateurs d’accesseur sont utilisés pour accéder aux ressources et aux propriétés imbriquées sur les objets.

Opérateur Nom Description
[] Accesseur d’index Accéder à un élément d’un tableau ou d’une propriété sur un objet.
. Accesseur de fonction Appeler une fonction sur une ressource.
:: Accesseur de ressource imbriquée Accédez à une ressource imbriquée à partir de l’extérieur de la ressource parente.
. Accesseur de propriété Propriétés d’accès d’un objet.

Comparaison

Les opérateurs de comparaison comparent les valeurs et renvoient true ou false.

Opérateur Nom Description
>= Supérieur ou égal à Détermine si la première valeur est supérieure ou égale à la seconde.
> Supérieur à Détermine si la première valeur est supérieure à la seconde.
<= Inférieur ou égal à Détermine si la première valeur est inférieure ou égale à la seconde.
< Inférieur à Détermine si la première valeur est inférieure à la seconde.
== Égal à Détermine si deux valeurs sont égales.
!= Différent de Détermine si deux valeurs sont différentes.
=~ Égal à - insensible à la casse Ignore la casse pour déterminer si deux valeurs sont égales.
!~ Différent de - insensible à la casse Ignore la casse pour déterminer si deux valeurs sont différentes.

Logical

Les opérateurs logiques évaluent des valeurs booléennes, renvoient des valeurs non nulles ou évaluent une expression conditionnelle.

Opérateur Nom Description
&& And Renvoie true si toutes les valeurs sont vraies.
|| Ou Renvoie true si une des deux valeurs est vraie.
! Not Inverse une valeur booléenne. Accepte un opérande.
?? Coalesce Renvoie la première valeur non nulle.
? : Expression conditionnelle Évalue une condition pour déterminer si elle est vraie ou fausse et renvoie une valeur.

Null-forgiving

L’opérateur null-forgiving supprime tous les avertissements pouvant accepter la valeur Null pour l’expression précédente.

Opérateur Nom Description
! Null-forgiving Supprime tous les avertissements pouvant accepter la valeur Null pour l’expression précédente.

Numérique

Les opérateurs numériques utilisent des entiers pour effectuer des calculs et retourner des valeurs entières.

Opérateur Nom Description
* Multiplier Multiplie deux entiers.
/ Divide Divise un entier par un entier.
% Modulo Divise un entier par un entier et retourne le reste.
+ Ajouter Ajoute deux entiers.
- Soustraire Soustrait un entier d’un autre entier. Accepte deux opérandes.
- Moins (unaire) Multiplie un entier par -1. Accepte un opérande.

Notes

Soustraire et Moins utilisent le même opérateur. La fonctionnalité est différente, car Soustraire utilise deux opérandes et Moins en utilise un seul.

Déréférencement sécurisé

L’opérateur de déréférencement sécurisé permet d’éviter les erreurs pouvant survenir lors d’une tentative d’accès à des propriétés ou à des éléments sans connaissance précise de leur existence ou de leur valeur.

Opérateur Nom Description
<base>.?<property>, <base>[?<index>] Déréférencement sécurisé Applique une opération d’accès à un membre objet ou d’accès à un élément de tableau à son opérande, si cet opérande a la valeur non Null ; sinon, il retourne null.

Étapes suivantes