Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сравнения на равенство
сравнения равенства (==
) и сравнения неравенства (!=
) в настоящее время ограничены следующими типами данных: Int
, BigInt
, Double
, String
, Bool
, Result
, Pauli
и Qubit
. Сравнение равенства типов и вызываемых типов struct
в настоящее время не поддерживается.
Сравнение равенства для значений типа 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
считаются равными. Сравнение равенства открытых диапазонов не поддерживается.
Количественное сравнение
Операторы меньше (<
), меньше или равно (<=
), больше (>
) и больше или равного (>=
) определяют количественные сравнения. Они могут применяться только к типам данных, поддерживающим такие сравнения, то есть к тем же типам данных, которые также могут поддерживать арифметические выражения.