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.
Dieser Abschnitt ist eine Referenz für F#, eine Programmiersprache mit mehreren Paradigmen für .NET. F# unterstützt funktionale, objektorientierte und imperative Programmiermodelle.
Organisieren von F#-Code
Die folgende Tabelle enthält Referenzartikel zum Organisieren ihres F#-Codes.
| Titel | BESCHREIBUNG |
|---|---|
| Namespaces | Erfahren Sie mehr über die Namespaceunterstützung in F#. Mit einem Namespace können Sie Code in Bereiche verwandter Funktionen organisieren, indem Sie einen Namen an eine Gruppierung von Programmelementen anfügen können. |
| Module | Erfahren Sie mehr über Module. Ein F#-Modul ist wie ein Namespace und kann auch Werte und Funktionen enthalten. Das Gruppieren von Code in Modulen trägt dazu bei, verwandten Code zusammenzuhalten und Namenskonflikte in Ihrem Programm zu vermeiden. |
open Deklarationen |
Erfahren Sie mehr über die open Funktionsweise. Eine open Deklaration gibt ein Modul, einen Namespace oder einen Typ an, auf dessen Elemente Sie verweisen können, ohne einen vollqualifizierten Namen zu verwenden. |
| Signatures | Erfahren Sie mehr über Signaturen und Signaturdateien. Eine Signaturdatei enthält Informationen über die öffentlichen Signaturen einer Reihe von F#-Programmelementen, z. B. Typen, Namespaces und Module. Sie kann verwendet werden, um die Barrierefreiheit dieser Programmelemente anzugeben. |
| Zugriffssteuerung | Erfahren Sie mehr über die Zugriffssteuerung in F#. Die Zugriffssteuerung bedeutet, dass sie deklarieren, welche Clients bestimmte Programmelemente wie Typen, Methoden, Funktionen usw. verwenden können. |
| XML-Dokumentation | Erfahren Sie mehr über die Unterstützung für das Generieren von Dokumentationsdateien aus XML-Dokumentkommentaren, auch als dreifache Schrägstriche bezeichnet. Sie können dokumentationen aus Codekommentaren in F# wie in anderen .NET-Sprachen erstellen. |
Literale und Zeichenfolgen
In der folgenden Tabelle sind Referenzartikel aufgeführt, die Literale und Zeichenfolgen in F# beschreiben.
| Titel | BESCHREIBUNG |
|---|---|
| Literale | Erfahren Sie mehr über die Syntax für Literalwerte in F# und wie Sie Typinformationen für F#-Literale angeben. |
| Zeichenfolgen | Erfahren Sie mehr über Zeichenfolgen in F#. Der string Typ stellt unveränderlichen Text als Abfolge von Unicode-Zeichen dar.
string ist ein Alias für System.String in .NET. |
| Interpolierte Zeichenfolgen | Erfahren Sie mehr über interpolierte Zeichenfolgen, eine spezielle Form von Zeichenfolgen, mit der Sie F#-Ausdrücke direkt darin einbetten können. |
Werte und Funktionen
Die folgende Tabelle enthält Referenzartikel, die Sprachkonzepte im Zusammenhang mit Werten, let-Bindungen und Funktionen beschreiben.
| Titel | BESCHREIBUNG |
|---|---|
| Werte | Erfahren Sie mehr über Werte, bei denen es sich um unveränderliche Mengen handelt, die einen bestimmten Typ aufweisen; Werte können integrale oder Gleitkommazahlen, Zeichen oder Text, Listen, Sequenzen, Arrays, Tupel, diskriminierte Vereinigungen, Datensätze, Klassentypen oder Funktionswerte sein. |
| Funktionen | Funktionen sind die grundlegende Programmausführungseinheit in jeder Programmiersprache. Eine F#-Funktion weist einen Namen auf, kann Parameter aufweisen und Argumente annehmen und einen Textkörper aufweisen. F# unterstützt auch funktionsbezogene Programmierkonstrukte wie das Behandeln von Funktionen als Werte, die Verwendung von nicht benannten Funktionen in Ausdrücken, die Zusammensetzung von Funktionen, um neue Funktionen, geschweifte Funktionen zu bilden, und die implizite Definition von Funktionen mithilfe der teilweisen Anwendung von Funktionsargumenten. |
| Funktionsausdrücke | Erfahren Sie, wie Sie das F#-Schlüsselwort "fun" verwenden, um einen Lambda-Ausdruck zu definieren, bei dem es sich um eine anonyme Funktion handelt. |
Schleifen und Bedingungen
In der folgenden Tabelle sind Artikel aufgeführt, die F#-Schleifen und -Bedingungen beschreiben.
| Titel | BESCHREIBUNG |
|---|---|
Bedingte Ausdrücke: if...then...else |
Erfahren Sie mehr über den Ausdruck, der if...then...else verschiedene Codezweige ausführt und je nach dem angegebenen booleschen Ausdruck auch einen anderen Wert auswertet. |
Schleifen: for...in Ausdruck |
Erfahren Sie mehr über den for...in Ausdruck, ein Schleifenkonstrukt, das zum Durchlaufen der Übereinstimmungen eines Musters in einer enumerationsfähigen Auflistung verwendet wird, z. B. einen Bereichsausdruck, eine Sequenz, eine Liste, ein Array oder ein anderes Konstrukt, das Enumeration unterstützt. |
Schleifen: for...to Ausdruck |
Erfahren Sie mehr über den Ausdruck, der for...to zum Durchlaufen in einer Schleife über einen Wertebereich einer Schleifenvariable verwendet wird. |
Schleifen: while...do Ausdruck |
Erfahren Sie mehr über den Ausdruck, der while...do zum Ausführen der iterativen Ausführung (Schleifen) verwendet wird, während eine angegebene Testbedingung wahr ist. |
Mustervergleich
Die folgende Tabelle enthält Referenzartikel zur Beschreibung von Sprachkonzepten.
| Titel | BESCHREIBUNG |
|---|---|
| Mustervergleich | Erfahren Sie mehr über Muster, die Regeln zum Transformieren von Eingabedaten sind und in F# verwendet werden. Sie können Daten mit einem Muster vergleichen, Daten in Bestandteile zerlegen oder Informationen aus Daten auf verschiedene Weise extrahieren. |
| Vergleichsausdrücke | Erfahren Sie mehr über den match Ausdruck, der Verzweigungssteuerelemente bereitstellt, die auf dem Vergleich eines Ausdrucks mit einer Reihe von Mustern basieren. |
| Aktive Muster | Erfahren Sie mehr über aktive Muster. Mit aktiven Mustern können Sie benannte Partitionen definieren, die Eingabedaten unterteilen. Sie können aktive Muster verwenden, um Daten auf angepasste Weise für jede Partition zu dekompilieren. |
Ausnahmebehandlung
Die folgende Tabelle enthält Referenzartikel zur Beschreibung von Sprachkonzepten im Zusammenhang mit der Ausnahmebehandlung.
| Titel | BESCHREIBUNG |
|---|---|
| Ausnahmebehandlung | Enthält Informationen zur Unterstützung der Ausnahmebehandlung in F#. |
Der try...with Ausdruck |
Erfahren Sie, wie Sie den Ausdruck für die try...with Ausnahmebehandlung verwenden. |
Der try...finally Ausdruck |
Erfahren Sie, wie Sie mit dem F# try...finally -Ausdruck Bereinigungscode ausführen können, auch wenn ein Codeblock eine Ausnahme auslöst. |
Das use Schlüsselwort |
Erfahren Sie mehr über die Schlüsselwörter use und using, die die Initialisierung und Freigabe von Ressourcen steuern können. |
| Behauptungen | Erfahren Sie mehr über den assert Ausdruck, bei dem es sich um ein Debuggingfeature handelt, mit dem Sie einen Ausdruck testen können. Bei Einem Fehler im Debugmodus generiert eine Assertion ein Systemfehlerdialogfeld. |
Typen und Typinferenz
In der folgenden Tabelle sind Referenzartikel aufgeführt, in denen beschrieben wird, wie Typen und Typinferenz in F# funktionieren.
| Titel | BESCHREIBUNG |
|---|---|
| Typen | Erfahren Sie mehr über die Typen, die in F# verwendet werden, und wie F#-Typen benannt und beschrieben werden. |
| Grundlegende Typen | Erfahren Sie mehr über die grundlegenden Typen, die in F# verwendet werden. Außerdem werden die entsprechenden .NET-Typen sowie die Minimal- und Höchstwerte für jeden Typ bereitgestellt. |
| Einheitentyp | Erfahren Sie mehr über den unit Typ, bei dem es sich um einen Typ handelt, der das Fehlen eines bestimmten Werts angibt. Der Typ hat nur einen einzelnen Wert, der unit als Platzhalter fungiert, wenn kein anderer Wert vorhanden ist oder erforderlich ist. |
| Abkürzungen des Typs | Erfahren Sie mehr über Typkürzel, bei denen es sich um alternative Namen für Typen handelt. |
| Typinferenz | Erfahren Sie, wie der F#-Compiler die Typen von Werten, Variablen, Parametern und Rückgabewerten ableiten kann. |
| Casting und Umwandlungen | Erfahren Sie mehr über die Unterstützung von Typkonvertierungen in F#. |
| Generics | Erfahren Sie mehr über generische Konstrukte in F#. |
| Automatische Generalisierung | Erfahren Sie, wie F# die Argumente und Funktionstypen automatisch generalisiert, damit sie nach Möglichkeit mit mehreren Typen arbeiten. |
| Einschränkungen | Erfahren Sie mehr über Einschränkungen, die für generische Typparameter gelten, um die Anforderungen für ein Typargument in einem generischen Typ oder einer generischen Funktion anzugeben. |
| Flexible Typen | Erfahren Sie mehr über flexible Typen. Eine flexible Typanmerkung ist ein Hinweis darauf, dass ein Parameter, eine Variable oder ein Wert einen Typ aufweist, der mit dem angegebenen Typ kompatibel ist, wobei die Kompatibilität durch die Position in einer objektorientierten Hierarchie von Klassen oder Schnittstellen bestimmt wird. |
| Maßeinheiten | Erfahren Sie mehr über Maßeinheiten. Gleitkommawerte in F# können zugeordnete Maßeinheiten aufweisen, die in der Regel verwendet werden, um Länge, Volumen, Masse usw. anzugeben. |
| Byrefs | Erfahren Sie mehr über byref- und byref-ähnliche Typen in F#, die für die Programmierung auf niedriger Ebene verwendet werden. |
Tupel, Listen, Sammlungen, Optionen
In der folgenden Tabelle sind Referenzartikel aufgeführt, in denen typen beschrieben werden, die von F# unterstützt werden.
| Titel | BESCHREIBUNG |
|---|---|
| Tupel | Erfahren Sie mehr über Tupel, die Gruppierungen von nicht benannten, aber sortierten Werten möglicherweise unterschiedlicher Typen sind. |
| Auflistungen | Eine Übersicht über die F#-Funktionssammlungstypen, einschließlich Typen für Arrays, Listen, Sequenzen (Seq), Zuordnungen und Sätze. |
| Listen | Erfahren Sie mehr über Listen. Eine Liste in F# ist eine sortierte, unveränderliche Reihe von Elementen, die alle denselben Typ aufweisen. |
| Optionen | Erfahren Sie mehr über den Optionstyp. Eine Option in F# wird verwendet, wenn ein Wert möglicherweise vorhanden ist oder nicht. Eine Option weist einen zugrunde liegenden Typ auf und kann entweder einen Wert dieses Typs enthalten oder keinen Wert aufweisen. |
| Arrays | Erfahren Sie mehr über Arrays. Arrays sind nullbasierte, änderbare Sequenzen aufeinander folgender Datenelemente, die alle denselben Typ aufweisen. |
| Sequenzen | Erfahren Sie mehr über Sequenzen. Eine Sequenz ist eine logische Reihe von Elementen, die alle einen Typ aufweisen. Einzelne Sequenzelemente werden nur bei Bedarf berechnet, sodass die Darstellung möglicherweise kleiner als eine Literalelementanzahl ist. |
| Sequenzausdrücke | Erfahren Sie mehr über Sequenzausdrücke, mit denen Sie Sequenzen von Daten bei Bedarf generieren können. |
| Bezugszellen | Erfahren Sie mehr über Referenzzellen, bei denen es sich um Speicherorte handelt, mit denen Sie veränderbare Variablen mit Referenzsemantik erstellen können. |
Datensätze und Diskriminierte Vereinigungen
Die folgende Tabelle enthält Referenzartikel zur Beschreibung von Datensatz- und Diskriminierten Union-Typdefinitionen, die von F# unterstützt werden.
| Titel | BESCHREIBUNG |
|---|---|
| Einträge | Erfahren Sie mehr über Datensätze. Datensätze stellen einfache Aggregate benannter Werte dar, optional mit Membern. |
| Anonyme Datensätze | Erfahren Sie, wie Sie anonyme Datensätze erstellen und verwenden, ein Sprachfeature, das bei der Manipulation von Daten hilft. |
| Diskriminierte Gewerkschaften | Erfahren Sie mehr über diskriminierte Gewerkschaften, die Unterstützung für Werte bieten, die einer der verschiedenen benannten Fälle entsprechen können, die jeweils mit möglicherweise unterschiedlichen Werten und Typen verwendet werden. |
| Strukturen | Erfahren Sie mehr über Strukturen, bei denen es sich um kompakte Objekttypen handelt, die effizienter sein können als eine Klasse für Typen mit einer kleinen Menge an Daten und einfachem Verhalten. |
| Enumerations | Enumerationen sind Typen, die über einen definierten Satz benannter Werte verfügen. Sie können sie anstelle von Literalen verwenden, um Code besser lesbar und verwaltet zu machen. |
Objektprogrammierung
Die folgende Tabelle enthält Referenzartikel zur Beschreibung der F#-Objektprogrammierung.
| Titel | BESCHREIBUNG |
|---|---|
| Klassen | Erfahren Sie mehr über Klassen, bei denen es sich um Typen handelt, die Objekte darstellen, die Eigenschaften, Methoden und Ereignisse enthalten können. |
| Schnittstellen | Erfahren Sie mehr über Schnittstellen, die Sätze verwandter Member angeben, die andere Klassen implementieren. |
| abstrakte Klassen | Erfahren Sie mehr über abstrakte Klassen, bei denen es sich um Klassen handelt, die einige oder alle Elemente nicht implementiert lassen, damit Implementierungen von abgeleiteten Klassen bereitgestellt werden können. |
| Typerweiterungen | Erfahren Sie mehr über Typerweiterungen, mit denen Sie einem zuvor definierten Objekttyp neue Member hinzufügen können. |
| Delegierte | Erfahren Sie mehr über Stellvertretungen, die einen Funktionsaufruf als Objekt darstellen. |
| Vererbung | Erfahren Sie mehr über die Vererbung, die zum Modellieren der Beziehung "is-a" oder der Untertypisierung in der objektorientierten Programmierung verwendet wird. |
| Mitglieder | Erfahren Sie mehr über Elemente von F#-Objekttypen. |
| Parameter und Argumente | Erfahren Sie mehr über die Sprachunterstützung zum Definieren von Parametern und übergeben Sie Argumente an Funktionen, Methoden und Eigenschaften. Sie enthält Informationen zum Übergeben nach Verweis. |
| Operatorüberladung | Erfahren Sie, wie Sie arithmetische Operatoren in einer Klasse oder einem Datensatztyp und auf globaler Ebene überladen. |
| Objektausdrücke | Erfahren Sie mehr über Objektausdrücke, bei denen es sich um Ausdrücke handelt, die neue Instanzen eines dynamisch erstellten, anonymen Objekttyps erstellen, der auf einem vorhandenen Basistyp, einer vorhandenen Schnittstelle oder einem Satz von Schnittstellen basiert. |
Async, Tasks und Lazy
In der folgenden Tabelle sind Themen aufgeführt, die F#-asynchrone, Aufgaben- und faule Ausdrücke beschreiben.
| Titel | BESCHREIBUNG |
|---|---|
| Asynchrone Ausdrücke | Erfahren Sie mehr über asynchrone Ausdrücke, mit denen Sie asynchronen Code auf eine Weise schreiben können, die sehr nah an der Art und Weise ist, wie Sie synchronen Code natürlich schreiben würden. |
| Aufgabenausdrücke | Erfahren Sie mehr über Aufgabenausdrücke, bei denen es sich um eine alternative Methode zum Schreiben von asynchronen Code handelt, der bei der Interoperabilität mit .NET-Code verwendet oder .NET-Aufgaben erzeugt. |
| Faule Ausdrücke | Erfahren Sie mehr über faule Ausdrücke, bei denen es sich um Berechnungen handelt, die nicht sofort ausgewertet werden, sondern stattdessen ausgewertet werden, wenn das Ergebnis tatsächlich benötigt wird. |
Berechnungsausdrücke und Abfragen
In der folgenden Tabelle sind Themen aufgeführt, die F#-Berechnungsausdrücke und -abfragen beschreiben.
| Titel | BESCHREIBUNG |
|---|---|
| Berechnungsausdrücke | Erfahren Sie mehr über Berechnungsausdrücke in F#, die eine bequeme Syntax zum Schreiben von Berechnungen bereitstellen, die mithilfe von Steuerelementflusskonstrukten und Bindungen sequenziert und kombiniert werden können. Sie können verwendet werden, um Daten, Steuerung und Nebenwirkungen in funktionalen Programmen zu verwalten. |
| Abfrageausdrücke | Erfahren Sie mehr über Abfrageausdrücke, ein Sprachfeature, das LINQ für F# implementiert und Ihnen das Schreiben von Abfragen für eine Datenquelle oder eine aufzählbare Auflistung ermöglicht. |
Attribute, Spiegelung, Anführungszeichen und Nur-Text-Formatierung
In der folgenden Tabelle sind Artikel aufgeführt, die F#-reflektierende Features beschreiben, einschließlich Attributen, Anführungszeichen nameofund Nur-Text-Formatierungen.
| Titel | BESCHREIBUNG |
|---|---|
| Attribute | Erfahren Sie, wie F#-Attribute die Anwendung von Metadaten auf ein Programmierkonstrukt ermöglichen. |
| Nameof | Erfahren Sie mehr über den nameof Operator, ein Metaprogrammierungsfeature, mit dem Sie den Namen eines symbols in Ihrem Quellcode erstellen können. |
| Anruferinformationen | Erfahren Sie, wie Sie Caller Info Argument Attributes verwenden, um Aufruferinformationen aus einer Methode abzurufen. |
| Quellzeilen-, Datei- und Pfadbezeichner | Erfahren Sie mehr über die Bezeichner __LINE__und __SOURCE_FILE____SOURCE_DIRECTORY__, die integrierte Werte sind, mit denen Sie in Ihrem Code auf die Quellzeilennummer, das Verzeichnis und den Dateinamen zugreifen können. |
| Codeangebote | Erfahren Sie mehr über Codeangebote, ein Sprachfeature, mit dem Sie F#-Codeausdrücke programmgesteuert generieren und arbeiten können. |
| Nur-Text-Formatierung | Erfahren Sie, wie Sie Sprintf und andere Nur-Text-Formatierungen in F#-Anwendungen und Skripts verwenden. |
Typanbieter
In der folgenden Tabelle sind Artikel aufgeführt, die F#-Typanbieter beschreiben.
| Titel | BESCHREIBUNG |
|---|---|
| Typanbieter | Erfahren Sie mehr über Typanbieter und Links zu exemplarischen Vorgehensweisen zur Verwendung der integrierten Typanbieter für den Zugriff auf Datenbanken und Webdienste. |
| Erstellen eines Typanbieters | Erfahren Sie, wie Sie eigene F#-Typanbieter erstellen, indem Sie mehrere einfache Typanbieter untersuchen, die die grundlegenden Konzepte veranschaulichen. |
F# Core Library API-Referenz
F# Core Library (FSharp.Core)-API-Referenz ist die Referenz für alle F#-Kernbibliotheksnamespaces, Module, Typen und Funktionen.
Verweistabellen
Die folgende Tabelle enthält Referenzartikel, die Tabellen mit Schlüsselwörtern, Symbolen und Literalen bereitstellen, die als Token in F# verwendet werden.
| Titel | BESCHREIBUNG |
|---|---|
| Schlüsselwortreferenz | Enthält Links zu Informationen zu allen F#-Sprachstichwörtern. |
| Symbol- und Operatorreferenz | Enthält eine Tabelle mit Symbolen und Operatoren, die in F# verwendet werden. |
Compilergestützte Konstrukte
In der folgenden Tabelle sind Themen aufgeführt, in denen spezielle compilergestützte Konstrukte beschrieben werden.
| Thema | BESCHREIBUNG |
|---|---|
| Compileroptionen | Beschreibt die Befehlszeilenoptionen für den F#-Compiler. |
| Compilerdirektiven | Beschreibt die Prozessordirektiven und Compilerdirektiven, die vom F#-Compiler unterstützt werden. |