Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gleichheitsvergleiche
Gleichheitsvergleiche (==) und Ungleichheitsvergleiche (!=) sind derzeit auf die folgenden Datentypen beschränkt: Int, BigInt, Double, String, Bool, Result, Pauliund Qubit. Gleichheitsvergleiche von struct Typen und Aufrufablen werden derzeit nicht unterstützt.
Der Gleichheitsvergleich für Werte vom Typ Qubit wertet aus, ob die beiden Ausdrücke denselben Qubit identifizieren. Es gibt keine Vorstellung von einem Quantenzustand in Q#; Der Gleichheitsvergleich nicht Zugriff, Messung oder Änderung des Quantenzustands der Qubits.
Gleichheitsvergleiche für Double Werte können aufgrund von Rundungseffekten irreführend sein.
Der folgende Vergleich wird z. B. aufgrund von Rundungsfehlern als false ausgewertet: 49.0 * (1.0/49.0) == 1.0.
Der Gleichheitsvergleich von Arrays und Tupeln wird durch Vergleiche ihrer Elemente unterstützt und nur unterstützt, wenn alle geschachtelten Typen den Gleichheitsvergleich unterstützen.
Der Gleichheitsvergleich von schließenden Bereichen wird unterstützt, und zwei Bereiche werden als gleich angesehen, wenn sie dieselbe Sequenz von ganzzahligen Zahlen erzeugen. Beispielsweise die folgenden beiden Bereiche
let r1 = 0..2..5; // generates the sequence 0,2,4
let r2 = 0..2..4; // generates the sequence 0,2,4
sind gleich. Der Gleichheitsvergleich von offenen Bereichen wird nicht unterstützt.
Quantitativer Vergleich
Die Operatoren kleiner als (<), kleiner als oder gleich (<=), größer als (>) und größer als-oder gleich (>=) quantitative Vergleiche definieren. Sie können nur auf Datentypen angewendet werden, die solche Vergleiche unterstützen, d. h. dieselben Datentypen, die auch arithmetischen Ausdrückeunterstützen können.