Visual F#
F# ist eine Programmiersprache, die zusätzlich zur herkömmlichen objektorientierten und imperativen (verfahrensbasierten) Programmierung die funktionale Programmierung unterstützt. Visual F# unterstützt das Entwickeln von F#-Anwendungen und das Erweitern von anderen .NET Framework-Anwendungen mit F#-Code. F# ist eine hochwertige .NET Framework-Sprache mit großer Ähnlichkeit zu funktionalen Sprachen, die zur ML-Gruppe gehören.
Eine Sprache mit mehreren Paradigmen
F# unterstützt beispielsweise folgende Konstrukte der funktionalen Programmierung:
Funktionen als Werte – ermöglicht die flexible Bearbeitung von Funktionen. Weitere Informationen finden Sie unter Funktionen als erstrangige Werte (F#).
Funktionszusammensetzung und Pipelinefunktionen – ermöglichen das Kombinieren von Funktionen zum Erstellen neuer Funktionen und die einfachere Codierung aufeinander folgender Datenoperationen. Weitere Informationen finden Sie unter Funktionen (F#).
Typrückschluss – mithilfe von Typrückschluss müssen Typen seltener explizit aufgerufen werden, und die Typsicherheit bleibt dennoch gewahrt.
Automatische Verallgemeinerung – erleichtert das Schreiben von Code, der ohne zusätzlichen Aufwand mit einer Vielzahl anderer Typen funktioniert, und fördert so die Codewiederverwendung.
Unterstützung für Mustervergleich – dies vereinfacht komplexen bedingten Code und Unterscheidungs-Unions, die mit dem Mustervergleich verwendet werden sollen.
Auflistungstypen zum Arbeiten mit unveränderlichen Daten, einschließlich Listen- und Sequenztypen.
Lambda-Ausdrücke – diese ermöglichen viele Konstrukte der funktionalen Programmierung.
Partielle Anwendung von Funktionsargumenten – ermöglicht die implizite Erstellung neuer Funktionen aus vorhandenen Funktionen. Weitere Informationen finden Sie unter Funktionen (F#).
Codezitate – eine Funktion, die Ihnen ermöglicht, F#-Ausdrücke programmgesteuert zu bearbeiten.
F# unterstützt objektorientierte Programmierungsfunktionen und .NET Framework-Funktionen, wie z. B. Folgende:
Das .NET Framework-Objektmodell, einschließlich Objekte, die über Eigenschaften, Methoden und Ereignisse verfügen; Polymorphie oder virtuelle Funktionen, Vererbung und Schnittstellen.
Datenkapselung bzw. das Trennen der öffentlichen Schnittstelle eines Typs von der Implementierung.
Operatorüberladung – funktioniert gut mit Generika und integrierten primitiven Typen.
Typerweiterungen – ermöglichen die unkomplizierte Erweiterung eines vorhandenen Typs. Der Mehraufwand für die Erstellung eines neuen abgeleiteten Typs entfällt hierbei.
Objektausdrücke – ermöglichen nach Bedarf die implizite Definition kleiner Objekte in Ausdrücken. Ein neuer Typ muss so nicht mehr deklariert, ein Objekt nicht mehr instanziiert werden.
Greifen Sie auf die .NET Framework-Assembly und jede Assembly mit verwaltetem Code zu.
Greifen Sie auf systemeigenen Code per Plattformaufruf zu.
F# unterstützt außerdem alle üblichen Konstrukte der imperativen Programmierung, z. B. Verzweigungen und Schleifenkonstrukte.
F#-Bibliotheken
Das Visual F#-Produkt enthält auch eine F#-Bibliothek mit vielen nützlichen Funktionen und Typen. Hierzu gehören auch APIs für Auflistungen, z. B. Listen, Arrays, Zuordnungen, Sätze und Sequenzen. Die F#-Bibliothek unterstützt außerdem Reflektion, Ereignisse und formatierte E/A.
Darüber hinaus bietet die F#-Bibliothek Unterstützung für asynchrone Workflows, um parallele Berechnungen zu ermöglichen, und Mechanismen für die Kommunikation zwischen parallelen Workflows. Weitere Informationen finden Sie unter Asynchrone Workflows (F#), Control.Async-Klasse (F#) und Control.MailboxProcessor<'Msg>-Klasse (F#).
Die F#-Hauptbibliothek ist FSharp.Core.dll. Zusätzliche Bibliotheken sind im F#-PowerPack verfügbar, der auf der Microsoft F# Developer Center-Website verfügbar ist.
Interaktive Skripterstellung
Visual F# stellt ein interaktives Fenster bereit, das in der Visual Studio-Entwicklungsumgebung integriert ist. Dieses Fenster ermöglicht Ihnen, F#-Code einzugeben und sofort kompilieren und ausführen zu lassen. Dies ermöglicht die unkomplizierte Entwicklung von Prototypen für Codekonstrukte und das Testen von Code während des Schreibens. Das interaktive Fenster führt das interaktive F#-Tool (fsi.exe) aus, das Sie auch in der Befehlszeile ausführen können. Mit dieser Funktion kann F# als Skriptsprache verwendet werden. Weitere Informationen finden Sie unter F# Interactive-Referenz (fsi.exe).
Integration in Visual Studio
F# ist in Visual Studio integriert und unterstützt die folgenden Funktionen:
Projekte, einschließlich Vorlagen für allgemeine Projekttypen. Weitere Informationen finden Sie unter Schreiben von F#-Programmen mit Visual Studio sowie unter Konfigurieren von Projekten (F#).
IntelliSense Weitere Informationen finden Sie unter Verwenden von IntelliSense.
Debuggen Weitere Informationen finden Sie unter Debuggen in Visual Studio.
Bereitstellung: Zum Ausführen von F#-Programmen auf einem Computer müssen die F#-Laufzeitkomponenten installiert sein. Diese Komponenten werden von F# Redistributable Package installiert.
Weitere Informationen finden Sie unter Funktionen der F#-Entwicklungsumgebung.
Verwandte Themen
Titel |
Beschreibung |
---|---|
Stellt Informationen zum Einstieg in die aktuelle Version von Visual F# bereit. |
|
Ein zentraler Anlaufpunkt mit einer Vielzahl von Informationen zu F#. |
|
Stellt Informationen zur Verwendung von F# in der IDE (Integrated Development Environment, integrierte Entwicklungsumgebung) bereit, einschließlich Projekteinstellungen und IntelliSense. |
|
Stellt Referenzinformationen zur Programmiersprache F# bereit, einschließlich Informationen zu Schlüsselwörtern, Symbolen und Operatoren. |
|
Stellt Referenzinformationen zur F#-Kernbibliothek (FSharp.Core.dll) bereit. |
|
Stellt Informationen zum F#-Compiler fsc.exe bereit, einschließlich Informationen zu den Compileroptionen. |
|
Stellt Informationen zu F# Interactive (fsi.exe) bereit, einschließlich Informationen zu Befehlszeilenoptionen und Diagnosemeldungen, die für F# Interactive spezifisch sind. |
|
Enthält Links zu F#-Beispielen und exemplarischen Vorgehensweisen für F#. |