你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Bicep 运算符

本文介绍 Bicep 运算符。 运算符用于计算值、比较值或计算条件。 有六种类型的 Bicep 运算符:

运算符优先级和关联性

以下运算符按优先级的降序列出(优先级越高)。 在同一级别列出的运算符具有相等的优先级。

符号 运算类型 结合性
( ) [ ] . :: 括号、数组索引器、属性访问器和嵌套资源访问器 从左到右
! - 一元 从右到左
% * / 乘法性的 从左到右
+ - 累加性 从左到右
<= < > >= 关系 从左到右
== != =~ !~ 平等 从左到右
&& 逻辑与 从左到右
|| 逻辑或 从左到右
?? 合并 从左到右
? : 条件表达式 (三元) 从右到左

括弧

将表达式括在括号之间可以替代默认 Bicep 运算符优先级。 例如,表达式 x + y / z 先计算除法,然后再计算加法。 但是,表达式 (x + y) / z 计算加法第一个和除法第二。

访问

访问器运算符用于访问对象的嵌套资源和属性。

操作员 名称 DESCRIPTION
[] 索引访问器 访问对象上数组或属性的元素。
[^index] 反向索引访问器 按索引访问数组元素,从数组末尾计数(从末尾从 1 开始)。
. 函数访问器 对资源调用函数。
:: 嵌套资源访问器 从父资源外部访问嵌套资源。
. 属性访问器 访问对象的属性。

比较

比较运算符比较值并返回 truefalse

操作员 名称 DESCRIPTION
>= 大于或等于 计算第一个值是否大于或等于第二个值。
> 大于 计算第一个值是否大于第二个值。
<= 小于或等于 计算第一个值是否小于或等于第二个值。
< 小于 计算第一个值是否小于第二个值。
== 等于 计算两个值是否相等。
!= 不等于 计算两个值是否不相等。
=~ 等于不区分大小写 忽略大小写以确定两个值是否相等。
!~ 不等于不区分大小写 忽略大小写以确定两个值是否 相等。

逻辑

逻辑运算符计算布尔值、返回非 null 值或计算条件表达式。

操作员 名称 DESCRIPTION
&& 返回 true 所有值是否为 true。
|| 如果任一值为 true,则 true 返回。
! 否定布尔值。 采用一个作数。
?? 合并 返回第一个非 null 值。
? : 条件表达式 计算 true 或 false 的条件并返回一个值。

Null 包容

null forgiving 运算符禁止显示上述表达式的所有可以为 null 的警告。

操作员 名称 DESCRIPTION
! Null-forgiving 取消上述表达式的所有可以为 null 的警告。

数值

数值运算符使用整数执行计算并返回整数值。

操作员 名称 DESCRIPTION
* Multiply 将两个整数相乘。
/ 将整数除以整数。
% 将整数除以整数并返回余数。
+ 添加 添加两个整数。
- 从另一个整数中减去一个整数。 采用两个作数。
- 减号 (一元) 将整数乘以 -1。 采用一个作数。

注释

减去和减号使用相同的运算符。 功能不同,因为减法使用两个作数,减法使用一个作数。

Safe-dereference

safe-dereference 运算符有助于防止尝试访问属性或元素时可能发生的错误,而不知道其存在或值。

操作员 名称 DESCRIPTION
<base>.?<property><base>[?<index>] Safe-dereference 仅当该作数的计算结果为非 null 时,才将对象成员访问或数组元素访问作应用于其作数,否则返回 null

展开

展开运算符用于将可迭代数组或对象展开为单个元素。 使用展开运算符,你可以通过将数组或对象的元素或属性展开为新的数组或对象来轻松操作数组或对象。

操作员 名称 DESCRIPTION
... 传播 允许将可迭代数组和对象扩展到单个元素或属性。

后续步骤