Microsoft.FSharp.Core-Namespace (F#)
Dieser Namespace enthält Funktionen, die die F#-Kernfunktionalität unterstützen, einschließlich Sprachprimitiven, Operatoren, Attributen, primitiven Typen, Zeichenfolgen und formatierten E/A.
Namespace/Modulpfad: Microsoft.FSharp.Core
Assembly: FSharp.Core (in FSharp.Core.dll)
namespace Microsoft.FSharp.Core
Module
Modul |
Beschreibung |
---|---|
ExtraTopLevelOperators-Modul |
Zusätzliche F#-Operatoren und -Typen, die ohne das Öffnen eines Moduls oder eines Namespace verfügbar sind. |
LanguagePrimitives-Modul |
Sprachprimitive, die der Programmiersprache F# zugeordnet sind. |
Modul NumericLiterals |
Stellt eine Standardimplementierung der numerischen F#-Literalsyntax für Literale der Form 'dddI' bereit. |
Modul Operators |
Grundlegende F#-Operatoren. Dieses Modul wird in jedem F#-Code automatisch geöffnet. |
Modul OptimizedClosures |
Ein Implementierungsmodul, in dem einige private Implementierungen des Aufrufs von Funktionswerten gespeichert werden. |
Modul Option |
Grundlegende Vorgänge für Optionen. |
Modul Printf |
Erweiterbare printf-Formatierung für Zahlen und andere Datentypen. |
Modul String |
Funktionale Programmieroperatoren für die Zeichenfolgenverarbeitung. Weitere Zeichenfolgenoperationen sind über die Memberfunktionen für Zeichenfolgen und andere Funktionen in String- und Regex-Typen verfügbar. |
Typdefinitionen
Typ |
Beschreibung |
---|---|
Typ [,,,]<'T> |
Vierdimensionale Arrays, in der Regel nullbasiert. Nicht nullbasierte Arrays können mit den Methoden des Typs System.Array erstellt werden. |
Typ [,,]<'T> |
Dreidimensionale Arrays, in der Regel nullbasiert. Nicht nullbasierte Arrays können mit den Methoden des Typs System.Array erstellt werden. |
Typ [,]<'T> |
Zweidimensionale Arrays, in der Regel nullbasiert. |
Typ []<'T> |
Eindimensionale, nullbasierte Arrays (geschrieben als int[], string[] usw.) |
Durch Hinzufügen dieses Attributs zur Klassendefinition wird diese abstrakt, d. h., es müssen nicht alle enthaltenen Methoden implementiert werden. Instanzen von abstrakten Klassen werden möglicherweise nicht direkt erstellt. |
|
Durch Hinzufügen dieses Attribut zu einem Typ kann das 'null'-Literal für den Typ im F#-Code verwendet werden. Dieses Attribut kann nur Klassen- oder Schnittstellentypen hinzugefügt werden, die für F# definiert wurden. |
|
Dieses Attribut verfolgt zwei Zwecke. Beim Anwenden auf eine Assembly muss ihm ein Zeichenfolgenargument zugewiesen werden, und dieses Argument muss ein gültiges Modul bzw. einen gültigen Namespace in der betreffenden Assembly angeben. Mit einem Verweis auf diese Assembly kompilierte Quellcodedateien werden in einer Umgebung verarbeitet, in der der angegebene Pfad automatisch geöffnet wird. |
|
Durch Hinzufügen dieses Attributs zu einem Typ mit dem Wert 'false' wird das Festlegen des Typs als serialisierbar durch F# standardmäßig deaktiviert. |
|
Typ byref<'T> |
Stellt einen verwalteten Zeiger in F#-Code dar. |
Hilfstypen für aktive Muster mit sieben Optionen. |
|
Hilfstypen für aktive Muster mit sechs Optionen. |
|
Hilfstypen für aktive Muster mit fünf Optionen. |
|
Hilfstypen für aktive Muster mit vier Optionen. |
|
Hilfstypen für aktive Muster mit drei Optionen. |
|
Typ Choice<'T1,'T2> |
Hilfstypen für aktive Muster mit zwei Optionen. |
Typ ClassAttribute |
Durch Hinzufügen dieses Attributs zu einem Typ wird dieser mit einer CLI-Klasse dargestellt. |
Durch Hinzufügen dieses Attributs zu einer Eigenschaft mit Ereignistyp wird diese als CLI-Metadatenereignis kompiliert, und zwar durch eine syntaktische Übersetzung in ein Paar aus der 'add_EventName'-Methode und der 'remove_EventName'-Methode. |
|
Mit diesem Attribut wird ein generischer Containertyp angegeben, der die F#-'comparison'-Einschränkung (Vergleich) nur dann erfüllt, wenn diese Einschränkung auch von einem generischen Argument erfüllt wird. Wenn dieses Attribut z. B. Parameter 'T für eine Typdefinition C<'T> hinzugefügt wird, heißt dies, dass der Typ C<X> Vergleiche nur dann unterstützt, wenn Typ X ebenfalls Vergleiche unterstützt und alle sonstigen Bedingungen für C<X> zur Unterstützung von Vergleichen ebenfalls erfüllt sind. Der Typ C<'T> kann immer noch mit anderen Typargumenten verwendet werden, ein Typ wie C<(int -> int)> unterstützt jedoch keine Vergleiche, da der Typ (int -> int) ein F#-Funktionstyp ist und keine Vergleiche unterstützt. |
|
Dieses Attribut wird automatisch vom F#-Compiler generiert, um Funktionen und Member zu kennzeichnen, die die teilweise Anwendung einiger ihrer Argumente zulassen und eine Restfunktion zurückgeben. |
|
Dieses Attribut wird automatisch vom F#-Compiler hinzugefügt, um Typen und Methoden im generierten CLI-Code mit Flags zu kennzeichnen, die die Übereinstimmung mit ursprünglichen Quellkonstrukten angeben. Es wird von den Funktionen im Microsoft.FSharp.Reflection-Namespace verwendet, um mit umgekehrter Zuordnung kompilierte Konstrukte wieder in ihre ursprüngliche Form zu konvertierten. Ist nicht für die Verwendung im Benutzercode vorgesehen. |
|
Mit diesem Attribut wird die Laufzeitdarstellung für einen Typ angepasst. Damit kann z. B. angegeben werden, dass die null-Darstellung für einen Typ verwendet werden darf. Dies wirkt sich auf die Kompilierung einiger Konstrukte aus. |
|
Gibt eine oder mehr Anpassungen an die kompilierte Darstellung eines F#-Typs oder -Members an. |
|
Dieses Attribut wird vom F#-Compiler automatisch eingefügt, um Methoden zu kennzeichnen, denen das 'CompiledName'-Attribut zugewiesen ist. Ist nicht für die Verwendung im Benutzercode vorgesehen. |
|
Durch das Hinzufügen dieses Attributs zu einem Wert oder einer Funktionsdefinition in einem F#-Modul wird der Name für den Wert im kompilierten CLI-Code geändert. |
|
Gibt an, dass eine Meldung ausgegeben werden soll, wenn dieses Konstrukt von F#-Quellcode verwendet wird. |
|
Durch das Hinzufügen dieses Attributs zu einem Typ wird angegeben, dass es sich um einen Typ mit einer benutzerdefinierten Implementierung von Vergleichen handelt. |
|
Durch das Hinzufügen dieses Attributs zu einem Typ wird angegeben, dass es sich um einen Typ mit einer benutzerdefinierten Implementierung von Gleichheit handelt. |
|
Der mit einer Maßeinheit kommentierte Typ von Dezimalzahlen. Die Maßeinheit wird im kompilierten Code und beim Analysieren von Werten dieses Typs durch Reflektion gelöscht. Die Darstellung des Typs entspricht System.Decimal. |
|
Durch das Hinzufügen dieses Attributs zu einer Unterscheidungs-Union mit dem Wert false wird die Generierung von standardmäßigen Tester-, Konstruktor- und Accessormembern für Hilfsmember für die generierte CLI-Klasse des betreffenden Typs deaktiviert. |
|
Wenn dieses Attribut einer Felddeklaration hinzugefügt wird, wird das Feld nicht initialisiert. Während der Typüberprüfung wird eine Einschränkung bestätigt, derzufolge der Feldtyp 'NULL' unterstützt. Wenn der 'check'-Wert auf false festgelegt ist, wird die Einschränkung nicht bestätigt. |
|
Durch das Hinzufügen dieses Attributs zu einer Funktion wird angegeben, dass es sich dabei um den Einstiegspunkt für eine Anwendung handelt. Wenn dies für eine EXE-Datei nicht vorhanden oder nicht angegeben ist, wird die implizite Initialisierung in den Modulbindungen in der letzten Datei der Kompilierungssequenz als Einstiegspunkt verwendet. |
|
Mit diesem Attribut wird ein generischer Containertyp angegeben, der die F#-'equality'-Einschränkung (Gleichheit) nur dann erfüllt, wenn diese Einschränkung auch von einem generischen Argument erfüllt wird. Wenn dieses Attribut z. B. Parameter 'T für eine Typdefinition C<'T> hinzugefügt wird, heißt dies, dass der Typ C<X> Gleichheit nur dann unterstützt, wenn Typ X ebenfalls Gleichheit unterstützt und alle sonstigen Bedingungen für C<X> zur Unterstützung von Gleichheit ebenfalls erfüllt sind. Der Typ C<'T> kann immer noch mit anderen Typargumenten verwendet werden, ein Typ wie C<(int -> int)> unterstützt jedoch keine Gleichheit, da der Typ (int -> int) ein F#-Funktionstyp ist und keine Gleichheit unterstützt. |
|
Dieses Attribut wird zum Kennzeichnen von Werten verwendet, die Teil einer experimentellen Bibliotheksfunktion sind. |
|
Typ float<'Measure> |
Der Typ von Gleitkommazahlen, mit einer Maßeinheit als Anmerkung. Die Maßeinheit wird im kompilierten Code und beim Analysieren von Werten dieses Typs durch Reflektion gelöscht. Die Darstellung des Typs entspricht System.Double. |
Der Typ von Gleitkommazahlen, mit einer Maßeinheit als Anmerkung. Die Maßeinheit wird im kompilierten Code und beim Analysieren von Werten dieses Typs durch Reflektion gelöscht. Die Darstellung des Typs entspricht System.Single. |
|
Der CLI-Typ zur Darstellung von F#-Funktionswerten. Dieser Typ wird i. d. R. nicht direkt verwendet, kann jedoch von anderen CLI-Sprachen verwendet werden. |
|
Durch das Hinzufügen dieses Attributs zu generierten Assemblys wird die Version des Datenschemas angegeben, mit dem zusätzliche F#-spezifische Informationen in der Ressource codiert werden, die an kompilierte F#-Bibliotheken angefügt sind. |
|
Typ FSharpTypeFunc |
Der CLI-Typ, der verwendet wird, um F#-Typfunktionswerte erster Klasse darzustellen. Dieser Typ dient zur Verwendung in kompiliertem F#-Code. |
Typ FuncConvert |
Hilfsfunktionen zum Konvertieren von F#-Funktionswerten erster Klasse in und von CLI-Darstellungen von Funktionen mit Delegaten. |
Durch Hinzufügen dieses Attributs zu einem nicht funktionsbasierten Wert mit generischen Parametern wird angegeben, dass eine Verwendung des Konstrukts die Ausführung generischen Codes durch Typrückschlüsse zur Folge haben kann. |
|
Typ ilsigptr<'T> |
Dieser Typ dient zur internen Verwendung durch den F#-Code-Generator. |
Typ int<'Measure> |
Der Typ der 32-Bit-Ganzzahlen mit Vorzeichen, mit einer Maßeinheit als Anmerkung. Die Maßeinheit wird im kompilierten Code und beim Analysieren von Werten dieses Typs durch Reflektion gelöscht. Die Darstellung des Typs entspricht System.Int32. |
Typ int16<'Measure> |
Der Typ der 16-Bit-Ganzzahlen mit Vorzeichen, mit einer Maßeinheit als Anmerkung. Die Maßeinheit wird im kompilierten Code und beim Analysieren von Werten dieses Typs durch Reflektion gelöscht. Die Darstellung des Typs entspricht System.Int16. |
Typ int64<'Measure> |
Der Typ der 64-Bit-Ganzzahlen mit Vorzeichen, mit einer Maßeinheit als Anmerkung. Die Maßeinheit wird im kompilierten Code und beim Analysieren von Werten dieses Typs durch Reflektion gelöscht. Die Darstellung des Typs entspricht System.Int64. |
Durch Hinzufügen dieses Attributs zu einem Typ wird dieser mit einer CLI-Schnittstelle dargestellt. |
|
Typ LiteralAttribute |
Durch Hinzufügen dieses Attributs zu einem Wert wird dieser als konstantes CLI-Literal kompiliert. |
Durch Hinzufügen dieses Attributs zu einem Typ wird er als optimierter Typ interpretiert, der derzeit auf mit Maßen parametrisierte Typen beschränkt ist. Dies kann nur unter sehr begrenzten Bedingungen verwendet werden. |
|
Typ MeasureAttribute |
Durch Hinzufügen dieses Attributs zu einem Typ wird dieser als Maßeinheit interpretiert. Dies kann nur unter sehr begrenzten Bedingungen verwendet werden. |
Typ nativeptr<'T> |
Stellt einen nicht verwalteten Zeiger in F#-Code dar. |
Durch das Hinzufügen dieses Attributs zu einem Typ wird angegeben, dass es sich um einen Typ handelt, für den ein Vergleich einen anormalen Vorgang darstellt. Das heißt, dass der Typ die F#-'comparison'-Einschränkung nicht erfüllt. Im Rahmen des F#-Typsystems wird damit sichergestellt, dass die generische Vergleichsfunktion von F# in diesem Typ nicht direkt instanziiert wird. Das Attribut und die Prüfung beschränken nicht die Verwendung von Vergleichen mit Basistypen oder untergeordneten Typen dieses Typs. |
|
Mit diesem Attribut werden Werte gekennzeichnet, die nicht dynamisch zur Laufzeit aufgerufen werden können. Das Attribut wird i. d. R. Inlinefunktionen hinzugefügt, deren Implementierungen nicht überprüfbaren Code enthalten. Dadurch löst der ausgegebene Methodentext für die Inlinefunktion beim dynamischen Aufrufen eine Ausnahme aus, anstatt nicht überprüfbaren Code in die generierte Assembly einzuschließen. |
|
Durch das Hinzufügen dieses Attributs zu einem Typ wird angegeben, dass es sich um einen Typ handelt, für den Gleichheit einen anormalen Vorgang darstellt. Das heißt, dass der Typ die F#-'equality'-Einschränkung nicht erfüllt. Im Rahmen des F#-Typsystems wird damit sichergestellt, dass die generische Gleichheitsfunktion von F# in diesem Typ nicht direkt instanziiert wird. Das Attribut und die Prüfung beschränken nicht die Verwendung von Vergleichen mit Basistypen oder untergeordneten Typen dieses Typs. |
|
Typ Option<'T> |
Der Typ der optionalen Werte. Bei Verwendung in anderen CLI-Sprachen ist die leere Option der null-Wert. |
Dieses Attribut wird automatisch für alle optionalen Argumente hinzugefügt. |
|
Der Typ eines Formatierungsausdrucks. |
|
Der Typ eines Formatierungsausdrucks. |
|
Typ Ref<'T> |
Der Typ von änderbaren Referenzen. Verwenden Sie die Funktionen [:=] und [!], um Werte dieses Typs abzurufen und festzulegen. |
Durch Hinzufügen dieses Attributs zu einem Datensatz- oder Union-Typ wird die automatische Generierung von Überschreibungen für 'System.Object.Equals(obj)', 'System.Object.GetHashCode()' und 'System.IComparable' für den Typ deaktiviert. Der Typ verwendet standardmäßig Verweisgleichheit. |
|
Durch Hinzufügen dieses Attributs zur let-Bindung für die Definition eines Werts auf der obersten Ebene wird der Zitatausdruck erstellt, der den zur Laufzeit verfügbaren Wert implementiert. |
|
Mit diesem Attribut wird angegeben, dass Verweise auf die Elemente eines Moduls, Datensatzes oder Union-Typs explizit qualifizierten Zugriff erfordern. |
|
Das Hinzufügen dieses Attributs zu einem Typ erfordert eine explizite Instanziierung aller generischen Typparameter durch Verwendungen des Konstrukts. |
|
Typ sbyte<'Measure> |
Der Typ der 8-Bit-Ganzzahlen mit Vorzeichen, mit einer Maßeinheit als Anmerkung. Die Maßeinheit wird im kompilierten Code und beim Analysieren von Werten dieses Typs durch Reflektion gelöscht. Die Darstellung des Typs entspricht System.SByte. |
Typ SealedAttribute |
Durch das Hinzufügen dieses Attributs zu einer Klassendefinition wird diese versiegelt. Das heißt, dass sie weder erweitert noch implementiert werden kann. |
Gibt die Beziehung zwischen einer kompilierten Entität in einer CLI-Binärdatei und einem Element in F#-Quellcode an. |
|
Typ StructAttribute |
Durch Hinzufügen dieses Attributs zu einem Typ wird dieser mit einer CLI-Struktur dargestellt. |
Durch das Hinzufügen dieses Attributs zu einem Datensatz-, Union-, Ausnahme- oder Strukturtyp wird die automatische Generierung von 'System.IComparable'-Implementierungen für den Typ bestätigt. |
|
Durch Hinzufügen dieses Attributs zu einem Datensatz-, Union- oder Struktur-Typ wird die automatische Generierung von Überschreibungen für 'System.Object.Equals(obj)' und 'System.Object.GetHashCode()' für den Typ bestätigt. |
|
Dieses Attribut wird verwendet, um zu kennzeichnen, wie ein Typ standardmäßig angezeigt wird, wenn '%A' printf-Formatierungsmuster und andere zweidimensionale textbasierte Anzeigelayouts verwendet werden. In dieser Version von F# weisen die einzigen gültigen Werte das Format PreText {PropertyName} PostText auf. Der Eigenschaftsname gibt eine Eigenschaft an, die ausgewertet und anstelle des Objekts angezeigt werden soll. |
|
Typ Unit |
Der Typ 'unit' verfügt nur über den Wert "()". Dies ist ein spezieller Wert, für den immer die Darstellung 'null' verwendet wird. |
Mit diesem Attribut werden Werte gekennzeichnet, bei deren Verwendung nicht überprüfbarer Code generiert wird. Diese Werte werden obligatorisch als 'inline' gekennzeichnet, um sicherzustellen, dass die nicht überprüfbaren Konstrukte nicht im tatsächlichen Code für die F#-Bibliothek vorhanden sind, sondern stattdessen in den Quellcode des Aufrufers kopiert werden. |
|
Wenn dieses Attribut einer änderbaren F#-Bindung hinzugefügt wird, wird das Präfix "volatile" für jeden Zugriff auf das Feld verwendet. |
Typabkürzungen
Typ |
Beschreibung |
---|---|
Typ array<'T> |
Eindimensionale, nullbasierte Arrays (geschrieben als int[], string[] usw.) |
Typ bigint |
Beliebig große ganze Zahlen. Eine Abkürzung für den BigInteger-Typ. |
Typ: bool |
Eine Abkürzung für den Boolean-CLI-Typ. |
Typ byte |
Eine Abkürzung für den Byte-CLI-Typ. |
Typ char |
Eine Abkürzung für den Char-CLI-Typ. |
Typ decimal |
Eine Abkürzung für den Decimal-CLI-Typ. |
Typ double |
Eine Abkürzung für den Double-CLI-Typ. |
Typ: exn |
Eine Abkürzung für den Exception-CLI-Typ. |
Typ: float |
Eine Abkürzung für den Double-CLI-Typ. |
Typ float32 |
Eine Abkürzung für den Single-CLI-Typ. |
Der Typ eines Formatierungsausdrucks. |
|
Der Typ eines Formatierungsausdrucks. |
|
Typ int |
Eine Abkürzung für den Int32-CLI-Typ. |
Typ int16 |
Eine Abkürzung für den Int16-CLI-Typ. |
Typ int32 |
Eine Abkürzung für den Int32-CLI-Typ. |
Typ int64 |
Eine Abkürzung für den Int64-CLI-Typ. |
Typ int8 |
Eine Abkürzung für den SByte-CLI-Typ. |
Typ nativeint |
Eine Abkürzung für den IntPtr-CLI-Typ. |
Typ obj |
Eine Abkürzung für den Object-CLI-Typ. |
Typ option<'T> |
Der Typ der optionalen Werte. Bei Verwendung in anderen CLI-Sprachen ist die leere Option der null-Wert. |
Typ ref<'T> |
Der Typ von änderbaren Referenzen. Verwenden Sie die Funktionen [:=] und [!], um Werte dieses Typs abzurufen und festzulegen. |
Typ sbyte |
Eine Abkürzung für den SByte-CLI-Typ. |
Typ single |
Eine Abkürzung für den Single-CLI-Typ. |
Typ string |
Eine Abkürzung für den String-CLI-Typ. |
Typ uint16 |
Eine Abkürzung für den UInt16-CLI-Typ. |
Typ uint32 |
Eine Abkürzung für den UInt32-CLI-Typ. |
Typ uint64 |
Eine Abkürzung für den UInt64-CLI-Typ. |
Typ uint8 |
Eine Abkürzung für den Byte-CLI-Typ. |
Typ unativeint |
Eine Abkürzung für den UIntPtr-CLI-Typ. |
Typ unit |
Der Typ 'unit' verfügt nur über den Wert "()". Dies ist ein spezieller Wert, für den immer die Darstellung 'null' verwendet wird. |
Ausnahmen
Ausnahme |
Beschreibung |
---|---|
Ausnahme MatchFailureException |
Fehler bei unvollständigen Übereinstimmungen lösen die MatchFailureException-Ausnahme aus. |