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.

type AbstractClassAttribute

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.

type AllowNullLiteralAttribute

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.

type AutoSerializableAttribute

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

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

Types d'assistance pour les modèles actifs avec 7 choix.

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

Types d'assistance pour les modèles actifs avec 6 choix.

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

Types d'assistance pour les modèles actifs avec 5 choix.

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

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.

type ComparisonConditionalOnAttribute

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.

type CompilationArgumentCountsAttribute

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

type CompilationMappingAttribute

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.

type CompilationRepresentationAttribute

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.

type CompilationRepresentationFlags

Indique un ou plusieurs ajustements apportés à la représentation compilée d'un type ou d'un membre F#.

type CompilationSourceNameAttribute

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.

type CompiledNameAttribute

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

type CompilerMessageAttribute

Indique qu'un message doit être émis lorsque le code source F# utilise cette construction.

type CustomComparisonAttribute

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.

type CustomEqualityAttribute

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

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.

type DefaultAugmentationAttribute

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.

type DefaultValueAttribute

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.

type EqualityConditionalOnAttribute

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

type ExperimentalAttribute

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.

type FSharpInterfaceDataVersionAttribute

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.

type GeneralizableValueAttribute

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.

type MeasureAnnotatedAbbreviationAttribute

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

type NoComparisonAttribute

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.

type NoDynamicInvocationAttribute

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.

type OptionalArgumentAttribute

Cet attribut est ajouté automatiquement pour tous les arguments facultatifs.

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

Type d'une expression de mise en forme.

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

Type d'une expression de mise en forme.

type Ref<'T>

Type des références mutables. Utilisez les fonctions [: =] et [!] pour obtenir et définir des valeurs de ce type.

type ReferenceEqualityAttribute

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.

type ReflectedDefinitionAttribute

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.

type RequireQualifiedAccessAttribute

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.

type RequiresExplicitTypeArgumentsAttribute

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.

type StructuralComparisonAttribute

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 pour 'System.IComparable' pour le type.

type StructuralEqualityAttribute

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.

type StructuredFormatDisplayAttribute

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

type UnverifiableAttribute

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.

type VolatileFieldAttribute

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 de base zéro, unidimensionnels, écrits sous la forme int[], string[] etc.

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 Format<'Printer,'State,'Residue,'Result,'Tuple>

Type d'une expression de mise en forme.

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

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

Voir aussi

Autres ressources

Référence de la bibliothèque principale F#