Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Porównywanie równości
Porównania równości () i porównania nierówności (!===) są obecnie ograniczone do następujących typów danych: Int, , BigInt, BoolStringResultDoublePauli, i .Qubit Porównania równości typów zdefiniowanych przez użytkownika i elementów wywołujących nie są obecnie obsługiwane.
Porównanie równości wartości typu Qubit ocenia, czy dwa wyrażenia identyfikują ten sam kubit. Nie ma pojęcia stanu kwantowego w Q#systemie ; porównanie równości, w szczególności, nie uzyskuje dostępu, mierzenia ani modyfikowania stanu kwantowego kubitów.
Porównania równości wartości Double mogą być mylące z powodu efektów zaokrąglania.
Na przykład następujące porównanie daje w wyniku false błędy zaokrąglania: 49.0 * (1.0/49.0) == 1.0.
Porównanie równości tablic i krotek jest obsługiwane przez porównania ich elementów i są obsługiwane tylko wtedy, gdy wszystkie ich typy zagnieżdżone obsługują porównanie równości.
Obsługiwane jest porównywanie równości zakresów zamkniętych, a dwa zakresy są traktowane jako równe, jeśli tworzą tę samą sekwencję liczb całkowitych. Na przykład następujące dwa zakresy
let r1 = 0..2..5; // generates the sequence 0,2,4
let r2 = 0..2..4; // generates the sequence 0,2,4
są traktowane jako równe. Porównanie równości zakresów otwartych nie jest obsługiwane.
Porównanie ilościowe
Operatory mniejsze niż (<), mniejsze niż lub równe (<=), większe niż (>) i większe niż lub równe (>=) definiują porównania ilościowe. Można je stosować tylko do typów danych, które obsługują takie porównania, czyli tych samych typów danych, które mogą również obsługiwać wyrażenia arytmetyczne.