Microsoft.FSharp.Core, espace de noms (F#)
Cet espace de noms contient des fonctionnalités qui prennent en charge les fonctionnalités F# principales, notamment les primitives de langage, les opérateurs, les attributs, les types primitifs, les chaînes et l'E/S mise en forme.
Espace de noms/Chemin du module : Microsoft.FSharp.Core
Assembly : FSharp.Core (in FSharp.Core.dll)
namespace Microsoft.FSharp.Core
Modules
Module |
Description |
---|---|
module ExtraTopLevelOperators |
Opérateurs et types F# supplémentaires disponibles sans ouvrir de module ou d'espace de noms. |
module LanguagePrimitives |
Primitives associées au langage F# |
module NumericLiterals |
Fournit une implémentation par défaut de la syntaxe littérale numérique F# pour les littéraux de la forme 'dddI' |
module Operators |
Opérateurs F# de base. Ce module est ouvert automatiquement dans l'intégralité du code F#. |
module OptimizedClosures |
Module d'implémentation utilisé pour contenir quelques implémentations privées d'appel de valeur de fonction. |
module Option |
Opérations de base sur les options. |
module Printf |
Mise en forme de style printf extensible pour les nombres et les autres types de données |
module String |
Opérateurs de programmation fonctionnels pour le traitement des chaînes. D'autres opérations de chaînes sont disponibles via les fonctions membres sur les chaînes et d'autres fonctionnalités dans les types String et Regex. |
Définitions de types
Type |
Description |
---|---|
type [,,,]<'T> |
Tableaux à quatre dimensions, généralement de base zéro. Les tableaux de base différente de zéro peuvent être créés à l'aide de méthodes sur le type System.Array. |
type [,,]<'T> |
Tableaux à trois dimensions, généralement de base zéro. Les tableaux de base différente de zéro peuvent être créés à l'aide de méthodes sur le type System.Array. |
type [,]<'T> |
Tableaux à deux dimensions, généralement de base zéro. |
type []<'T> |
Tableaux de base zéro, unidimensionnels, écrits sous la forme int[], string[] etc. |
L'ajout de cet attribut à la définition de classe rend celle-ci abstraite, ce qui signifie qu'elle n'a pas besoin d'implémenter toutes ses méthodes. Les instances de classes abstraites peuvent ne pas être construites directement. |
|
L'ajout de cet attribut à un type permet d'utiliser le littéral Null pour le type dans le code F#. Cet attribut ne peut être ajouté qu'à la classe ou aux types d'interfaces définis par F#. |
|
type AutoOpenAttribute |
Cet attribut est utilisé pour deux raisons. Lorsqu'il est appliqué à un assembly, il doit comporter un argument de chaîne, et cet argument doit indiquer un module ou un espace de noms valide dans cet assembly. Les fichiers de code source compilés avec une référence à cet assembly sont traités dans un environnement où le chemin d'accès donné est ouvert automatiquement. |
Le fait d'ajouter cet attribut à un type dont la valeur est false désactive le comportement où F# rend le type sérialisable par défaut. |
|
type byref<'T> |
Représente un pointeur managé en F#. |
Types d'assistance pour les modèles actifs avec 7 choix. |
|
Types d'assistance pour les modèles actifs avec 6 choix. |
|
Types d'assistance pour les modèles actifs avec 5 choix. |
|
Types d'assistance pour les modèles actifs avec 4 choix. |
|
type Choice<'T1,'T2,'T3> |
Types d'assistance pour les modèles actifs avec 3 choix. |
type Choice<'T1,'T2> |
Types d'assistance pour les modèles actifs avec 2 choix. |
type ClassAttribute |
L'ajout de cet attribut à un type a pour effet de le représenter à l'aide d'une classe CLI. |
type CLIEventAttribute |
L'ajout de cet attribut à une propriété avec un type d'événement entraîne sa compilation avec un événement de métadonnées CLI, par le biais d'une conversion syntaxique en une paire de méthodes add_EventName et remove_EventName. |
tapez CLIMutableAttribute |
L'ajout de cet attribut à un type d'enregistrement entraine la compilation de celui-ci en une représentation CLI avec un constructeur par défaut avec la propriété getters et setters. |
Cet attribut est utilisé pour indiquer qu'un type de conteneur générique satisfait à la contrainte de comparaison F# uniquement si un argument générique satisfait également à cette contrainte. Par exemple, l'ajout de cet attribut au paramètre 'T sur une définition de type C<'T> signifie qu'un type C<X> prend uniquement en charge la comparaison si le type X prend également en charge la comparaison et que toutes les autres conditions de prise en charge de la comparaison pour C<X> sont également satisfaites. Le type C<'T> peut toujours être utilisé avec d'autres arguments de type, mais un type tel que C<(int -> int) > ne prendra pas en charge la comparaison, car le type (int -> int) est un type de fonction F# et qu'il ne prend pas en charge la comparaison. |
|
Cet attribut est généré automatiquement par le compilateur F# pour baliser les fonctions et les membres qui acceptent une application partielle de certains de leurs arguments et retournent une fonction résiduelle |
|
Cet attribut est inséré automatiquement par le compilateur F# pour baliser les types et les méthodes dans le code CLI généré à l'aide d'indicateurs spécifiant la correspondance avec les constructions sources d'origine. Il est utilisé par les fonctions dans l'espace de noms Microsoft.FSharp.Reflection pour inverser le mappage des constructions compilées à leurs formes d'origine. Il n'est pas destiné à être utilisé à partir du code utilisateur. |
|
Cet attribut est utilisé pour ajuster la représentation runtime d'un type. Par exemple, il peut être utilisé pour noter que la représentation null peut être utilisée pour un type. Cela affecte la façon dont certaines constructions sont compilées. |
|
Indique un ou plusieurs ajustements apportés à la représentation compilée d'un type ou d'un membre F#. |
|
Cet attribut est inséré automatiquement par le compilateur F# pour baliser les méthodes comportant l'attribut 'CompiledName'. Il n'est pas destiné à être utilisé à partir du code utilisateur. |
|
L'ajout de cet attribut à une valeur ou à une définition de fonction dans un module F# modifie le nom utilisé pour la valeur dans le code CLI compilé. |
|
Indique qu'un message doit être émis lorsque le code source F# utilise cette construction. |
|
L'ajout de cet attribut à un type indique qu'il s'agit d'un type avec une implémentation définie par l'utilisateur de la comparaison. |
|
L'ajout de cet attribut à un type indique qu'il s'agit d'un type avec une implémentation définie par l'utilisateur de l'égalité. |
|
tapez CustomOperationAttribute |
Indique qu'un membre d'un type de générateur de calcul est un opérateur de requête personnalisée et indique le nom de cet opérateur. |
type decimal<'Measure> |
Type des nombres décimaux, annoté avec une unité de mesure. L'unité de mesure est effacée dans le code compilé et lorsque les valeurs de ce type sont analysées à l'aide de la réflexion. Le type est équivalent en représentation à System.Decimal. |
L'ajout de cet attribut à une union discriminée avec la valeur false désactive la génération de membres de programme d'assistance standard testeurs, constructeurs et accesseurs pour la classe CLI générée pour ce type. |
|
L'ajout de cet attribut à une déclaration de champ signifie que le champ n'est pas initialisé. Lors de la vérification du type, une contrainte déclare que le type du champ prend en charge les valeurs Null. Si 'check' a la valeur false, la contrainte n'est pas déclarée. |
|
type EntryPointAttribute |
L'ajout de cet attribut à une fonction indique qu'il s'agit du point d'entrée d'une application. S'il n'est pas spécifié pour un EXE, l'initialisation implicite dans les liaisons de module du dernier fichier de la séquence de compilation est utilisée comme point d'entrée. |
Cet attribut est utilisé pour indiquer qu'un type de conteneur générique satisfait à la contrainte d'égalité F# uniquement si un argument générique satisfait également à cette contrainte. Par exemple, l'ajout de cet attribut au paramètre 'T sur une définition de type C<'T> signifie qu'un type C<X> prend uniquement en charge l'égalité si le type X prend également en charge l'égalité et que toutes les autres conditions de prise en charge de l'égalité pour C<X> sont également satisfaites. Le type C<'T> peut toujours être utilisé avec d'autres arguments de type, mais un type tel que C<(int -> int) > ne prendra pas en charge l'égalité, car le type (int -> int) est un type de fonction F# et qu'il ne prend pas en charge l'égalité. |
|
Cet attribut est utilisé pour baliser les valeurs qui font partie d'une fonctionnalité de bibliothèque expérimentale. |
|
type float<'Measure> |
Type des nombres à virgule flottante, annoté avec une unité de mesure. L'unité de mesure est effacée dans le code compilé et lorsque les valeurs de ce type sont analysées à l'aide de la réflexion. Le type est équivalent en représentation à System.Double. |
type float32<'Measure> |
Type des nombres à virgule flottante, annoté avec une unité de mesure. L'unité de mesure est effacée dans le code compilé et lorsque les valeurs de ce type sont analysées à l'aide de la réflexion. Le type est équivalent en représentation à System.Single. |
type FSharpFunc<'T,'U> |
Type CLI utilisé pour représenter les valeurs de fonctions F#. Ce type n'est généralement pas utilisé directement, mais il peut être utilisé à partir d'autres langages CLI. |
Cet attribut est ajouté aux assemblys générés pour indiquer la version du schéma de données utilisé pour encoder des informations F# spécifiques supplémentaires dans la ressource jointe aux bibliothèques F# compilées. |
|
type FSharpTypeFunc |
Type CLI utilisé pour représenter les valeurs de fonction de type de première classe F#. Ce type doit être utilisé par du code F# compilé. |
type FuncConvert |
Fonctions d'assistance pour la conversion des valeurs de fonction de première classe F# en représentations CLI de fonctions et à partir de celle-ci à l'aide de délégués. |
L'ajout de cet attribut à une valeur sans fonction avec des paramètres génériques indique que les utilisations de la construction peuvent engendrer du code générique en raison de l'inférence de type. |
|
type ilsigptr<'T> |
Ce type est destiné à un usage interne par le générateur de code F#. |
type int<'Measure> |
Type des nombres entiers signés 32 bits, annoté avec une unité de mesure. L'unité de mesure est effacée dans le code compilé et lorsque les valeurs de ce type sont analysées à l'aide de la réflexion. Le type est équivalent en représentation à System.Int32. |
type int16<'Measure> |
Type des nombres entiers signés 16 bits, annoté avec une unité de mesure. L'unité de mesure est effacée dans le code compilé et lorsque les valeurs de ce type sont analysées à l'aide de la réflexion. Le type est équivalent en représentation à System.Int16. |
type int64<'Measure> |
Type des nombres entiers signés 64 bits, annoté avec une unité de mesure. L'unité de mesure est effacée dans le code compilé et lorsque les valeurs de ce type sont analysées à l'aide de la réflexion. Le type est équivalent en représentation à System.Int64. |
type InterfaceAttribute |
L'ajout de cet attribut à un type a pour effet de le représenter à l'aide d'une interface CLI. |
type LiteralAttribute |
L'ajout de cet attribut à une valeur entraîne sa compilation en tant que constante littérale CLI. |
L'ajout de cet attribut à un type entraîne son interprétation en tant que type raffiné, actuellement limité aux types paramétrables de mesure. À n'utiliser que sous certaines conditions. |
|
type MeasureAttribute |
L'ajout de cet attribut à un type entraîne son interprétation en tant qu'unité de mesure. À n'utiliser que sous certaines conditions. |
type nativeptr<'T> |
Représente un pointeur non managé en F#. |
L'ajout de cet attribut à un type indique qu'il s'agit d'un type pour lequel la comparaison est une opération anormale. Cela signifie que le type ne satisfait pas à la contrainte de comparaison F#. Dans les limites du système de type F#, cela permet de garantir que la fonction de comparaison générique F# n'est pas instanciée directement à ce type. L'attribut et la vérification n'imposent pas l'utilisation de la comparaison avec les types de base ou enfants de ce type. |
|
Cet attribut est utilisé pour baliser les valeurs qui peuvent ne pas être appelées dynamiquement au moment de l'exécution. Il est généralement ajouté aux fonctions inline dont les implémentations incluent du code non vérifiable. Le corps de la méthode émis pour la fonction inline lève alors une exception en cas d'appel dynamique, plutôt que d'inclure le code non vérifiable dans l'assembly généré. |
|
type NoEqualityAttribute |
L'ajout de cet attribut à un type indique qu'il s'agit d'un type pour lequel l'égalité est une opération anormale. Cela signifie que le type ne satisfait pas à la contrainte d'égalité F#. Dans les limites du système de type F#, cela permet de garantir que la fonction d'égalité générique F# n'est pas instanciée directement à ce type. L'attribut et la vérification n'imposent pas l'utilisation de la comparaison avec les types de base ou enfants de ce type. |
type Option<'T> |
Type des valeurs facultatives. Lorsqu'elle est utilisée à partir d'autres langages CLI, l'option vide est la valeur null. |
Cet attribut est ajouté automatiquement pour tous les arguments facultatifs. |
|
Type d'une expression de mise en forme. |
|
Type d'une expression de mise en forme. |
|
Indique que, lorsqu'un opérateur personnalisé est utilisé dans une expression de calcul, un paramètre est automatiquement paramétrable par l'espace variable de l'expression de calcul. |
|
type Ref<'T> |
Type des références mutables. Utilisez les fonctions [: =] et [!] pour obtenir et définir des valeurs de ce type. |
L'ajout de cet attribut à un type d'enregistrement ou d'union désactive la génération automatique de substitutions pour 'System.Object.Equals(obj)', 'System.Object.GetHashCode()' et 'System.IComparable' pour le type. Le type utilisera par défaut l'égalité de référence. |
|
L'ajout de cet attribut à la liaison let pour la définition d'une valeur de niveau supérieur permet d'utiliser l'expression de quotation qui implémente la valeur au moment de l'exécution. |
|
Cet attribut est utilisé pour indiquer que les références aux éléments d'un type de module, d'enregistrement ou d'union requièrent un accès qualifié explicite. |
|
L'ajout de cet attribut à un type, une valeur ou un membre requiert que les utilisations de la construction instancient explicitement des paramètres de type générique. |
|
type sbyte<'Measure> |
Type des nombres entiers signés 8 bits, annoté avec une unité de mesure. L'unité de mesure est effacée dans le code compilé et lorsque les valeurs de ce type sont analysées à l'aide de la réflexion. Le type est équivalent en représentation à System.SByte. |
type SealedAttribute |
L'ajout de cet attribut à la définition de classe la rend sealed, ce qui signifie qu'elle ne peut pas être étendue ou implémentée. |
type SourceConstructFlags |
Indique la relation entre une entité compilée en binaire CLI et un élément en code source F#. |
type StructAttribute |
L'ajout de cet attribut à un type a pour effet de le représenter à l'aide d'un struct CLI. |
L'ajout de cet attribut à un type d'enregistrement, d'union, d'exception ou de struct confirme la génération automatique des implémentations de 'System.IComparable' pour le type. |
|
L'ajout de cet attribut à un type d'enregistrement, d'union ou de struct confirme la génération automatique de substitutions pour 'System.Object.Equals(obj)' et 'System.Object.GetHashCode()' pour le type. |
|
Cet attribut est utilisé pour marquer la façon dont un type est affiché par défaut lors de l'utilisation des modèles de mise en forme printf '%A' et d'autres dispositions d'affichage textuel à deux dimensions. Dans cette version de F#, les seules valeurs valides sont de la forme PreText {PropertyName} PostText. Le nom de propriété indique une propriété à évaluer et à afficher plutôt que l'objet lui-même. |
|
type Unit |
Type 'unit', qui a une seule valeur "()". Cette valeur est spéciale et utilise toujours la représentation 'null'. |
Cet attribut est utilisé pour baliser les valeurs dont l'utilisation provoquera la génération de code non vérifiable. Ces valeurs sont inévitablement marquées comme étant 'inline' pour garantir que les constructions incontrôlables ne sont pas présentes dans le code réel de la bibliothèque F#, mais qu'elles sont copiées dans le code source de l'appelant. |
|
L'ajout de cet attribut à une liaison mutable F# entraîne l'utilisation du préfixe « volatile » pour tous les accès à ce champ. |
Abréviations de types
Type |
Description |
---|---|
type array<'T> |
Tableaux dimensionnelles et de base zéro unique, écrites int[], etc. string[] .. |
type bigint |
Entiers arbitrairement grands. Abréviation pour le type BigInteger. |
type bool |
Abréviation pour le type CLI Boolean. |
type byte |
Abréviation pour le type CLI Byte. |
type char |
Abréviation pour le type CLI Char. |
type decimal |
Abréviation pour le type CLI Decimal. |
type double |
Abréviation pour le type CLI Double. |
type exn |
Abréviation pour le type CLI Exception. |
type float |
Abréviation pour le type CLI Double. |
type float32 |
Abréviation pour le type CLI Single. |
Type d'une expression de mise en forme. |
|
Type d'une expression de mise en forme. |
|
type int |
Abréviation pour le type CLI Int32. |
type int16 |
Abréviation pour le type CLI Int16. |
type int32 |
Abréviation pour le type CLI Int32. |
type int64 |
Abréviation pour le type CLI Int64. |
type int8 |
Abréviation pour le type CLI SByte. |
type nativeint |
Abréviation pour le type CLI IntPtr. |
type obj |
Abréviation pour le type CLI Object. |
type option<'T> |
Type des valeurs facultatives. Lorsqu'elle est utilisée à partir d'autres langages CLI, l'option vide est la valeur null. |
type ref<'T> |
Type des références mutables. Utilisez les fonctions [: =] et [!] pour obtenir et définir des valeurs de ce type. |
type sbyte |
Abréviation pour le type CLI SByte. |
type single |
Abréviation pour le type CLI Single. |
type string |
Abréviation pour le type CLI String. |
type uint16 |
Abréviation pour le type CLI UInt16. |
type uint32 |
Abréviation pour le type CLI UInt32. |
type uint64 |
Abréviation pour le type CLI UInt64. |
type uint8 |
Abréviation pour le type CLI Byte. |
type unativeint |
Abréviation pour le type CLI UIntPtr. |
type unit |
Type 'unit', qui a une seule valeur "()". Cette valeur est spéciale et utilise toujours la représentation 'null'. |
Exceptions
Exception |
Description |
---|---|
exception MatchFailureException |
Les échecs de correspondance non exhaustifs lèveront l'exception MatchFailureException |