你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
比较表达式
相等比较
相等性比较 (==
) 和不相等性比较 (!=
) 目前仅限于以下数据类型:Int
、BigInt
、Double
、String
、Bool
, Result
、Pauli
和 Qubit
。 目前不支持对用户定义的类型和可调用对象的相等性比较。
Qubit
类型的值的相等性比较计算两个表达式是否标识相同的量子比特。
Q# 中没有量子状态的概念;特别是相等性比较不是访问、测量或修改量子比特的量子状态。
由于舍入效应,Double
值的相等性比较可能会产生误导。
例如,由于舍入误差,以下比较的计算结果为 false
:49.0 * (1.0/49.0) == 1.0
。
数组和元组的相等性比较通过项的比较得到支持,并且仅当其所有嵌套类型都支持相等比较时,才受支持。
支持对结束范围的相等比较,如果两个范围生成相同的整数序列,则视为相等。 例如,以下两个区域
let r1 = 0..2..5; // generates the sequence 0,2,4
let r2 = 0..2..4; // generates the sequence 0,2,4
被视为相等。 不支持对开放式范围进行相等比较。
定量比较
运算符小于 (<
)、小于或等于 (<=
)、大于 (>
) 和 大于或等于 (>=
) 定义了定量比较。 它们只能应用于支持此类比较的数据类型;即也可以支持算术表达式的相同数据类型。