你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
条件表达式由三个子表达式组成,其中最左侧的子表达式的类型为 Bool,并确定计算另外两个子表达式中的哪一个。 它们采用形式
cond ? ifTrue | ifFalse
具体而言,如果 cond 计算结果为 true,则条件表达式的计算结果为 ifTrue 表达式;否则,它将计算结果为 ifFalse 表达式。 另一个表达式(分别 ifFalse 和 ifTrue 表达式)永远不会计算,这与 if 语句中的分支非常类似。
例如,在表达式 a == b ? C(qs) | D(qs)中,如果 a 等于 b,则调用可调用 C。 否则,将调用 D。
ifTrue 和 ifFalse 表达式的类型必须具有 通用基类型。 与其最终生成表达式计算的值无关,其类型始终与确定的基类型匹配。
例如,如果
-
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
有关详细信息,请参阅 子级。