Share via


Symbol- und Operatorenreferenz (F#)

Dieses Thema enthält eine Tabelle der Symbole und Operatoren, die in F# verwendet werden.

Tabelle der Symbole und Operatoren

Die folgende Tabelle enthält Beschreibungen der in F# verwendeten Symbole, Links zu Themen mit weiteren Informationen und kurze Erläuterungen von Verwendungszwecken des Symbols.Die Symbole sind entsprechend der Sortierung des ASCII-Zeichensatzes sortiert.

Symbol oder Operator

Links

Beschreibung

!

Referenzzellen (F#)

Berechnungsausdrücke (F#)

  • Dereferenziert eine Referenzzelle.

  • Gibt nach einem Schlüsselwort eine geänderte Version des von einem Workflow gesteuerten Verhaltens des Schlüsselworts an.

!=

Nicht zutreffend.

  • Wird in F# nicht verwendet.Verwenden Sie <> für Ungleichheitsoperationen.

"

Literale (F#)

Zeichenfolgen (F#)

  • Begrenzt eine Textzeichenfolge.

"""

Zeichenfolgen (F#)

Begrenzt eine wörtliche Textzeichenfolge.Unterscheidet sich von @"..." darin, dass Sie ein Anführungszeichen angeben können, indem Sie ein einfaches Anführungszeichen in der Zeichenfolge verwenden.

#

Compilerdirektiven (F#)

Flexible Typen (F#)

  • Ist einer Präprozessor- oder Compilerdirektive vorangestellt, z. B. #light.

  • Gibt bei Verwendung mit einem Typ einen flexiblen Typ an. Dies bedeutet, dass es sich um einen Typ oder einen beliebigen von ihm abgeleiteten Typ handelt.

$

Keine weiteren Informationen verfügbar.

  • Wird intern für bestimmte vom Compiler generierte Variablen- und Funktionsnamen verwendet.

%

Arithmetische Operatoren (F#)

Zitieren von Code (F#)

  • Berechnet den ganzzahligen Modulo.Wird zum Zusammenführen von Zitaten verwendet.

%?

Operatoren, die NULL-Werte zulassen (F#)

Berechnet den ganzzahligen Modulo, wenn die rechte Seite ein Typ, der NULL-Werte zulässt, ist.

&

Vergleichsausdrücke (F#)

  • Berechnet die Adresse eines änderbaren Werts. Wird bei der Interoperation mit anderen Sprachen verwendet.

  • Wird in AND-Mustern verwendet.

&&

Boolesche Operatoren (F#)

  • Berechnet die boolesche AND-Operation.

&&&

Bitweise Operatoren (F#)

  • Berechnet die bitweise AND-Operation.

'

Literale (F#)

Automatische Verallgemeinerung (F#)

  • Begrenzt ein Einzelzeichenliteral.

  • Gibt einen generischen Typparameter an.

``...``

Keine weiteren Informationen verfügbar.

  • Begrenzt einen Bezeichner, der andernfalls kein gültiger Bezeichner wäre, z. B. ein Schlüsselwort.

( )

Unit-Typ (F#)

  • Stellt den einzelnen Wert des unit-Typs dar.

(...)

Tupel (F#)

Überladen von Operatoren (F#)

  • Gibt die Reihenfolge an, in der Ausdrücke ausgewertet werden.

  • Begrenzt ein Tupel.

  • Wird in Operatordefinitionen verwendet.

(*...*)

  • Begrenzt einen Kommentar, der mehrere Zeilen umfassen kann.

(|...|)

Aktive Muster (F#)

  • Begrenzt ein aktives Muster.Wird auch als Bananenklammern bezeichnet.

*

Arithmetische Operatoren (F#)

Tupel (F#)

Maßeinheiten (F#)

  • Multipliziert bei Verwendung als binärer Operator die linke und die rechte Seite.

  • Gibt in Typen die paarweise Gruppierung in einem Tupel an.

  • Wird in Maßeinheittypen verwendet.

*?

Operatoren, die NULL-Werte zulassen (F#)

  1. Multipliziert die linke und rechte Seite, wenn die rechte Seite ein Typ, der NULL-Werte zulässt, ist.

**

Arithmetische Operatoren (F#)

  • Berechnet die Potenz (x ** y bedeutet x mit der Potenz y).

+

Arithmetische Operatoren (F#)

  • Addiert bei Verwendung als binärer Operator die linke und die rechte Seite.

  • Gibt bei Verwendung als unärer Operator eine positive Menge an.(Formal wird mit unverändertem Vorzeichen der gleiche Wert erzeugt.)

+?

Operatoren, die NULL-Werte zulassen (F#)

  1. Fügt die linke und rechte Seite hinzu, wenn die rechte Seite ein Typ, der NULL-Werte zulässt, ist.

,

Tupel (F#)

  • Trennt Typparameter oder die Elemente eines Tupels.

-

Arithmetische Operatoren (F#)

  • Subtrahiert bei Verwendung als binärer Operator die rechte Seite von der linken Seite.

  • Führt bei Verwendung als unärer Operator eine Negationsoperation aus.

-

Operatoren, die NULL-Werte zulassen (F#)

  1. Subtrahiert die rechte Seite von der linken Seite, wenn die rechte Seite ein Typ, der NULL-Werte zulässt, ist.

->

Funktionen (F#)

Vergleichsausdrücke (F#)

  • Begrenzt in Funktionstypen Argumente und Rückgabewerte.

  • Ergibt einen Ausdruck (in Sequenzausdrücken). Entspricht dem yield-Schlüsselwort.

  • Wird in Vergleichsausdrücken verwendet.

.

Member (F#)

Primitive Typen (F#)

  • Greift auf einen Member zu und trennt einzelne Namen in einem vollqualifizierten Namen.

  • Gibt in Gleitkommazahlen ein Dezimaltrennzeichen an.

..

Schleifen: for...in-Ausdruck (F#)

  • Gibt einen Bereich an.

.. ..

Schleifen: for...in-Ausdruck (F#)

  • Gibt einen Bereich zusammen mit einem Inkrement an.

.[...]

Arrays (F#)

  • Greift auf ein Arrayelement zu.

/

Arithmetische Operatoren (F#)

Maßeinheiten (F#)

  • Dividiert die linke Seite (Zähler) durch die rechte Seite (Nenner).

  • Wird in Maßeinheittypen verwendet.

/?

Operatoren, die NULL-Werte zulassen (F#)

  1. Dividiert die linke Seite durch die rechte Seite, wenn die rechte Seite ein Typ, der NULL-Werte zulässt, ist.

//

  • Gibt den Anfang eines einzeiligen Kommentars an.

///

XML-Dokumentation (F#)

  • Gibt einen XML-Kommentar an.

:

Funktionen (F#)

  • Trennt in einer Typanmerkung einen Parameter- oder Membernamen vom zugehörigen Typ.

::

Listen (F#)

Vergleichsausdrücke (F#)

  • Erstellt eine Liste.Das Element auf der linken Seite wird an die Liste auf der rechten Seite angefügt.

  • Wird beim Mustervergleich zum Trennen der Teile einer Liste verwendet.

:=

Referenzzellen (F#)

  • Weist einer Referenzzelle einen Wert zu.

:>

Umwandlung und Konvertierungen (F#)

  • Konvertiert einen Typ in einen Typ, der sich auf einer höheren Ebene der Hierarchie befindet.

:?

Vergleichsausdrücke (F#)

  • Gibt true zurück, wenn der Wert mit dem angegebenen Typ übereinstimmt. Gibt andernfalls false zurück (Typtestoperator).

:?>

Umwandlung und Konvertierungen (F#)

  • Konvertiert einen Typ in einen Typ, der sich auf einer niedrigeren Ebene der Hierarchie befindet.

;

Ausführliche Syntax (F#)

Listen (F#)

Datensätze (F#)

  • Trennt Ausdrücke (meist in ausführlicher Syntax verwendet).

  • Trennt Elemente einer Liste.

  • Trennt Felder eines Datensatzes.

<

Arithmetische Operatoren (F#)

  • Berechnet die Kleiner-als-Operation.

<?

Operatoren, die NULL-Werte zulassen (F#)

Berechnet kleiner als Vorgang, wenn die rechte Seite ein Typ, der NULL-Werte zulässt, ist.

<<

Funktionen (F#)

  • Kombiniert zwei Funktionen in umgekehrter Reihenfolge. Die zweite Funktion wird zuerst ausgeführt (Rückwärtskompositionsoperator) ausgeführt.

<<<

Bitweise Operatoren (F#)

  • Verschiebt Bits in der Menge auf der linken Seite um die Anzahl der auf der rechten Seite angegebenen Bits nach links.

<-

Werte (F#)

  • Weist einer Variablen einen Wert zu.

<...>

Automatische Verallgemeinerung (F#)

  • Begrenzt Typparameter.

<>

Arithmetische Operatoren (F#)

  • Gibt true zurück, wenn die linke Seite ungleich der rechten Seite ist. Gibt andernfalls false zurück.

<>?

Operatoren, die NULL-Werte zulassen (F#)

  1. Berechnet den gleichen Vorgang "nicht", wenn die rechte Seite ein Typ, der NULL-Werte zulässt, ist.

<=

Arithmetische Operatoren (F#)

  • Gibt true zurück, wenn die linke Seite kleiner oder gleich der rechten Seite ist. Gibt andernfalls false zurück.

<=?

Operatoren, die NULL-Werte zulassen (F#)

  1. Berechnet "kleiner oder gleich" Operation, wenn die rechte Seite ein Typ, der NULL-Werte zulässt, ist.

<|

Funktionen (F#)

  • Übergibt das Ergebnis des Ausdrucks auf der rechten Seite an die Funktion auf der linken Seite (Rückwärtspipeoperator).

<||

Operators.( <|| )<'T1,'T2,'U>-Funktion (F#)

  • Führt das Tupel von zwei Argumenten auf der rechten Seite an die Funktion auf der linken Seite.

<|||

Operators.( <||| )<'T1,'T2,'T3,'U>-Funktion (F#)

  • Führt das Tupel von drei Argumenten auf der rechten Seite an die Funktion auf der linken Seite.

<@...@>

Zitieren von Code (F#)

  • Begrenzt ein typisiertes Codezitat.

<@@...@@>

Zitieren von Code (F#)

  • Begrenzt ein nicht typisiertes Codezitat.

=

Arithmetische Operatoren (F#)

  • Gibt true zurück, wenn die linke Seite gleich der rechten Seite ist. Gibt andernfalls false zurück.

=?

Operatoren, die NULL-Werte zulassen (F#)

  1. Berechnet den gleichen Vorgang "", wenn die rechte Seite ein Typ, der NULL-Werte zulässt, ist.

==

Nicht zutreffend.

  • Wird in F# nicht verwendet.Verwenden Sie = für Gleichheitsoperationen.

>

Arithmetische Operatoren (F#)

  • Gibt true zurück, wenn die linke Seite größer oder gleich der rechten Seite ist. Gibt andernfalls false zurück.

>?

Operatoren, die NULL-Werte zulassen (F#)

  1. Berechnet das "greather als" Operation, wenn die rechte Seite ein Typ, der NULL-Werte zulässt, ist.

>>

Funktionen (F#)

  • Setzt zwei Funktionen zusammen (Vorwärtskompositionsoperator).

>>>

Bitweise Operatoren (F#)

  • Verschiebt Bits in der Menge auf der linken Seite um die Anzahl der auf der rechten Seite angegebenen Stellen nach rechts.

>=

Arithmetische Operatoren (F#)

  • Gibt true zurück, wenn die rechte Seite größer oder gleich der linken Seite ist. Gibt andernfalls false zurück.

>=?

Operatoren, die NULL-Werte zulassen (F#)

  1. Berechnet den "größer als oder Gleichgestellt" Vorgang, wenn die rechte Seite ein Typ, der NULL-Werte zulässt, ist.

?

Parameter und Argumente (F#)

  • Gibt ein optionales Argument an.

  • Wird als Operator für dynamische Methoden- und Eigenschaftenaufrufe verwendet.Sie müssen eine eigene Implementierung bereitstellen.

? ... <- ...

Keine weiteren Informationen verfügbar.

  • Wird als Operator zum Festlegen von dynamischen Eigenschaften verwendet.Sie müssen eine eigene Implementierung bereitstellen.

?>=, ?>, ?<=, ?<, ?=, ?<>, ?+, ?-, ?*, ?/

Operatoren, die NULL-Werte zulassen (F#)

  1. Entsprechungen der entsprechenden Operatoren ohne?Präfix, wo ein Typ, der NULL-Werte zulässt, links ist.

>=?, >?, <=?, <?, =?, <>?, +?, -?, *?, /?

Operatoren, die NULL-Werte zulassen (F#)

  1. Entsprechungen der entsprechenden Operatoren ohne?Fügen Sie an, wo ein Typ, der NULL-Werte zulässt, ist im.

?>=?, ?>?, ?<=?, ?<?, ?=?, ?<>?, ?+?, ?-?, ?*?, ?/?

Operatoren, die NULL-Werte zulassen (F#)

  1. Entsprechungen der entsprechenden Operatoren ohne die umgebenden Fragezeichen, in denen beide Seiten Typ, der NULL-Werte zulässt, sind.

@

Listen (F#)

Zeichenfolgen (F#)

  • Verkettet zwei Listen.

  • Gibt vor einem Zeichenfolgenliteral an, dass die Zeichenfolge wörtlich zu interpretieren ist und Escapezeichen nicht interpretiert werden.

[...]

Listen (F#)

  • Begrenzt die Elemente einer Liste.

[|...|]

Arrays (F#)

  • Begrenzt die Elemente eines Arrays.

[<...>]

Attribute (F#)

  • Begrenzt ein Attribut.

\

Zeichenfolgen (F#)

  • Dient als Escapezeichen für das nächste Zeichen. Wird für Zeichen- und Zeichenfolgenliterale verwendet.

^

Statisch aufgelöste Typparameter (F#)

Zeichenfolgen (F#)

  • Gibt Typparameter an, die nicht zur Laufzeit, sondern zur Kompilierzeit aufgelöst werden müssen.

  • Verkettet Zeichenfolgen.

^^^

Bitweise Operatoren (F#)

  • Berechnet die bitweise XOR-Operation.

_

Vergleichsausdrücke (F#)

Generika (F#)

  • Gibt ein Platzhaltermuster an.

  • Gibt einen anonymen generischen Parameter an.

`

Automatische Verallgemeinerung (F#)

  • Wird intern verwendet, um einen generischen Typparameter anzugeben.

{...}

Sequenzen (F#)

Datensätze (F#)

  • Begrenzt Sequenzausdrücke und Berechnungsausdrücke.

  • Wird in Datensatzdefinitionen verwendet.

|

Vergleichsausdrücke (F#)

  • Begrenzt einzelne Übereinstimmungen, einzelne Fälle von Unterscheidungs-Unions und Enumerationswerte.

||

Boolesche Operatoren (F#)

  • Berechnet die boolesche OR-Operation.

|||

Bitweise Operatoren (F#)

  • Berechnet die bitweise OR-Operation.

|>

Funktionen (F#)

  • Übergibt das Ergebnis der linken Seite an die Funktion auf der rechten Seite (Vorwärtspipeoperator).

||>

Operators.( ||> )<'T1,'T2,'U>-Funktion (F#)

  • Führt das Tupel von zwei Argumenten auf der linken Seite an die Funktion auf der rechten Seite.

|||>

Operators.( |||> )<'T1,'T2,'T3,'U>-Funktion (F#)

  1. Führt das Tupel von drei Argumenten auf der linken Seite an die Funktion auf der rechten Seite.

~~

Überladen von Operatoren (F#)

  • Wird verwendet, um eine Überladung für den unären Negationsoperator zu deklarieren.

~~~

Bitweise Operatoren (F#)

  • Berechnet die bitweise NOT-Operation.

~-

Überladen von Operatoren (F#)

  • Wird verwendet, um eine Überladung für den unären Subtraktionsoperator zu deklarieren.

~+

Überladen von Operatoren (F#)

  • Wird verwendet, um eine Überladung für den unären Additionsoperator zu deklarieren.

Operatorrangfolge

In der folgenden Tabelle wird die Rangfolge von Operatoren und anderen Ausdrucksschlüsselwörtern in der Programmiersprache F# dargestellt, von der niedrigster Rangfolge bis zur höchsten Rangfolge.Die Assoziativität wird ggf. ebenfalls aufgeführt.

Operator

Assoziativität

as

Right

when

Right

| (Pipe)

Links

;

Right

let

Nicht assoziativ

function, fun, match, try

Nicht assoziativ

if

Nicht assoziativ

->

Right

:=

Right

,

Nicht assoziativ

or, ||

Links

&, &&

Links

<op, >op, =, |op, &op

Links

&&&, |||, ^^^, ~~~, <<<, >>>

Links

^op

Right

::

Right

:?>, :?

Nicht assoziativ

-op, +op, (binary)

Links

*op, /op, %op

Links

**op

Right

f x (Funktionsanwendung)

Links

| (Mustervergleich)

Right

Präfixoperatoren (+op, -op, %, %%, &, &&, !op, ~op)

Links

.

Links

f(x)

Links

f<types>

Links

F# unterstützt die benutzerdefinierte Operatorüberladung.Dies bedeutet, dass Sie eigene Operatoren definieren können.In der obigen Tabelle kann op eine beliebige gültige (möglicherweise leere) Sequenz von integrierten oder benutzerdefinierten Operatorzeichen sein.Daher können Sie anhand dieser Tabelle bestimmen, welche Sequenz von Zeichen für einen benutzerdefinierten Operator verwendet werden muss, um die gewünschte Rangfolge zu erhalten.. werden als vorangestellte Zeichen ignoriert, wenn der Compiler die Rangfolge bestimmt.

Siehe auch

Referenz

Überladen von Operatoren (F#)

Weitere Ressourcen

F#-Sprachreferenz