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

条件 表达式

条件表达式由三个子表达式组成,其中最左侧的子表达式的类型为 Bool,并确定计算另外两个子表达式中的哪一个。 它们采用形式

cond ? ifTrue | ifFalse

具体而言,如果 cond 计算结果为 true,则条件表达式的计算结果为 ifTrue 表达式;否则,它将计算结果为 ifFalse 表达式。 另一个表达式(分别 ifFalseifTrue 表达式)永远不会计算,这与 if 语句中的分支非常类似。 例如,在表达式 a == b ? C(qs) | D(qs)中,如果 a 等于 b,则调用可调用 C。 否则,将调用 D

ifTrueifFalse 表达式的类型必须具有 通用基类型。 与其最终生成表达式计算的值无关,其类型始终与确定的基类型匹配。

例如,如果

  • Op1 的类型为 Qubit[] => Unit is Adj
  • Op2 的类型为 Qubit[] => Unit is Ctl
  • Op3 的类型为 Qubit[] => Unit is Adj + Ctl

然后在受影响的域控制器上,运行

  • cond ? Op1 | Op2 的类型为 Qubit[] => Unit
  • cond ? Op1 | Op3 的类型为 Qubit[] => Unit is Adj
  • cond ? Op2 | Op3 的类型为 Qubit[] => Unit is Ctl

有关详细信息,请参阅 子级