Espressioni comparative
Confronti di uguaglianza
I confronti di uguaglianza (==
) e i confronti di disuguaglianza (!=
) sono attualmente limitati ai tipi di dati seguenti: Int
, BigInt
, Bool
Double
Result
String
, Pauli
, e .Qubit
I confronti di uguaglianza dei tipi definiti dall'utente e dei chiamabili non sono attualmente supportati.
Il confronto di uguaglianza per i valori di tipo Qubit
valuta se le due espressioni identificano lo stesso qubit. Non esiste alcuna nozione di stato quantistico in Q#; il confronto di uguaglianza, in particolare, non accede, misura o modifica lo stato quantistico dei qubit.
I confronti di uguaglianza per Double
i valori possono essere fuorvianti a causa di effetti di arrotondamento.
Ad esempio, il confronto seguente restituisce false
a causa di errori di arrotondamento: 49.0 * (1.0/49.0) == 1.0
.
Il confronto di uguaglianza delle matrici e delle tuple è supportato dai confronti dei relativi elementi e sono supportati solo se tutti i tipi annidati supportano il confronto di uguaglianza.
Il confronto di uguaglianza degli intervalli chiusi è supportato e due intervalli vengono considerati uguali se producono la stessa sequenza di interi. Ad esempio, i due intervalli seguenti
let r1 = 0..2..5; // generates the sequence 0,2,4
let r2 = 0..2..4; // generates the sequence 0,2,4
sono considerati uguali. Il confronto di uguaglianza degli intervalli aperti non è supportato.
Confronto quantitativo
Gli operatori less-than (<
), less-than-or-equal (<=
), greater-than (>
) e greater-than-or-equal (>=
) definiscono confronti quantitativi. Possono essere applicati solo ai tipi di dati che supportano tali confronti, ovvero gli stessi tipi di dati che possono supportare anche espressioni aritmetiche.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: nel corso del 2024 verranno dismessi i problemi di GitHub come meccanismo di feedback per il contenuto e verranno sostituiti con un nuovo sistema di feedback. Per altre informazioni, vedere:Invia e visualizza il feedback per