Freigeben über


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.)

Typ AbstractClassAttribute

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.

Typ AllowNullLiteralAttribute

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.

Typ AutoOpenAttribute

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.

Typ AutoSerializableAttribute

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.

Typ Choice<'T1,'T2,'T3,'T4,'T5,'T6,'T7>

Hilfstypen für aktive Muster mit sieben Optionen.

Typ Choice<'T1,'T2,'T3,'T4,'T5,'T6>

Hilfstypen für aktive Muster mit sechs Optionen.

Typ Choice<'T1,'T2,'T3,'T4,'T5>

Hilfstypen für aktive Muster mit fünf Optionen.

Typ Choice<'T1,'T2,'T3,'T4>

Hilfstypen für aktive Muster mit vier Optionen.

Typ Choice<'T1,'T2,'T3>

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.

Typ CLIEventAttribute

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.

Typ ComparisonConditionalOnAttribute

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.

Typ CompilationArgumentCountsAttribute

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.

Typ CompilationMappingAttribute

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.

Typ CompilationRepresentationAttribute

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.

Typ CompilationRepresentationFlags

Gibt eine oder mehr Anpassungen an die kompilierte Darstellung eines F#-Typs oder -Members an.

Typ CompilationSourceNameAttribute

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.

Typ CompiledNameAttribute

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.

Typ CompilerMessageAttribute

Gibt an, dass eine Meldung ausgegeben werden soll, wenn dieses Konstrukt von F#-Quellcode verwendet wird.

Typ CustomComparisonAttribute

Durch das Hinzufügen dieses Attributs zu einem Typ wird angegeben, dass es sich um einen Typ mit einer benutzerdefinierten Implementierung von Vergleichen handelt.

Typ CustomEqualityAttribute

Durch das Hinzufügen dieses Attributs zu einem Typ wird angegeben, dass es sich um einen Typ mit einer benutzerdefinierten Implementierung von Gleichheit handelt.

Typ decimal<'Measure>

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.

Typ DefaultAugmentationAttribute

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.

Typ DefaultValueAttribute

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.

Typ EntryPointAttribute

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.

Typ EqualityConditionalOnAttribute

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.

Typ ExperimentalAttribute

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.

Typ float32<'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.Single.

Typ FSharpFunc<'T,'U>

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.

Typ FSharpInterfaceDataVersionAttribute

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.

Typ GeneralizableValueAttribute

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.

Typ InterfaceAttribute

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.

Typ MeasureAnnotatedAbbreviationAttribute

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.

Typ NoComparisonAttribute

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.

Typ NoDynamicInvocationAttribute

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.

Typ NoEqualityAttribute

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.

Typ OptionalArgumentAttribute

Dieses Attribut wird automatisch für alle optionalen Argumente hinzugefügt.

Typ PrintfFormat<'Printer,'State,'Residue,'Result,'Tuple >

Der Typ eines Formatierungsausdrucks.

Typ PrintfFormat<'Printer,'State,'Residue,'Result>

Der Typ eines Formatierungsausdrucks.

Typ Ref<'T>

Der Typ von änderbaren Referenzen. Verwenden Sie die Funktionen [:=] und [!], um Werte dieses Typs abzurufen und festzulegen.

Typ ReferenceEqualityAttribute

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.

Typ ReflectedDefinitionAttribute

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.

Typ RequireQualifiedAccessAttribute

Mit diesem Attribut wird angegeben, dass Verweise auf die Elemente eines Moduls, Datensatzes oder Union-Typs explizit qualifizierten Zugriff erfordern.

Typ RequiresExplicitTypeArgumentsAttribute

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.

Typ SourceConstructFlags

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.

Typ StructuralComparisonAttribute

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.

Typ StructuralEqualityAttribute

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.

Typ StructuredFormatDisplayAttribute

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.

Typ UnverifiableAttribute

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.

Typ VolatileFieldAttribute

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.

Typ Format<'Printer,'State,'Residue,'Result,'Tuple>

Der Typ eines Formatierungsausdrucks.

Typ Format<'Printer,'State,'Residue,'Result>

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.

Siehe auch

Weitere Ressourcen

Referenz zur F#-Kernbibliothek