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

比较表达式

相等比较

相等性比较 (==) 和不相等性比较 (!=) 目前仅限于以下数据类型:IntBigIntDoubleStringBool, ResultPauliQubit。 目前不支持对用户定义的类型和可调用对象的相等性比较。

Qubit 类型的值的相等性比较计算两个表达式是否标识相同的量子比特。 Q# 中没有量子状态的概念;特别是相等性比较不是访问、测量或修改量子比特的量子状态。

由于舍入效应,Double 值的相等性比较可能会产生误导。 例如,由于舍入误差,以下比较的计算结果为 false49.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

被视为相等。 不支持对开放式范围进行相等比较。

定量比较

运算符小于 (<)、小于或等于 (<=)、大于 (>) 和 大于或等于 (>=) 定义了定量比较。 它们只能应用于支持此类比较的数据类型;即也可以支持算术表达式的相同数据类型。