Compartir a través de


Microsoft.FSharp.Core (Espacio de nombres de F#)

Este espacio de nombres contiene funcionalidad que admite funcionalidad básica de F#, como primitivas del lenguaje, operadores, atributos, tipos primitivos, cadenas y E/S con formato.

Espacio de nombres/Ruta de acceso del módulo: Microsoft.FSharp.Core

Ensamblado: FSharp.Core (en FSharp.Core.dll)

namespace Microsoft.FSharp.Core

Módulos

Módulo

Descripción

module ExtraTopLevelOperators

Operadores y tipos adicionales de F# que están disponibles sin tener que abrir un módulo o espacio de nombres.

module LanguagePrimitives

Primitivas asociadas al lenguaje F#.

module NumericLiterals

Proporciona implementaciones predeterminadas de la sintaxis literal numérica de F# para los literales con el formato "dddI".

module Operators

Operadores básicos de F#. Este módulo se abre automáticamente en todo el código de F#.

module OptimizedClosures

Módulo de implementación usado para contener algunas implementaciones privadas de la invocación de un valor de función.

module Option

Operaciones básicas con opciones.

module Printf

Formato extensible de tipo printf para números y otros tipos de datos.

module String

Operadores de programación funcional para el procesamiento de cadenas. Además, hay disponibles operaciones de cadena a través de las funciones miembro de las cadenas, y otra funcionalidad de los tipos String y Regex.

Definiciones de tipos

Tipo

Descripción

type [,,,]<'T>

Matrices de cuatro dimensiones, normalmente de base cero. Las matrices que no son de base cero pueden crearse mediante los métodos del tipo System.Array.

type [,,]<'T>

Matrices tridimensionales, normalmente de base cero. Las matrices que no son de base cero pueden crearse mediante los métodos del tipo System.Array.

type [,]<'T>

Matrices bidimensionales, normalmente de base cero.

type []<'T>

Matrices unidimensionales de base cero, escritas int[], string[], etc.

type AbstractClassAttribute

Cuando se agrega este atributo a una definición de clase, la clase pasa a ser abstracta, lo que significa que no necesita implementar todos sus métodos. Las instancias de clases abstractas no se pueden construir directamente.

type AllowNullLiteralAttribute

Cuando se agrega este atributo a un tipo, se puede usar el literal 'null' para el tipo en código de F#. Este atributo puede agregarse únicamente a los tipos de clase o interfaz definidos en F#.

type AutoOpenAttribute

Este atributo se usa para dos fines. Cuando se aplica a un ensamblado, se debe proporcionar un argumento de tipo string y este argumento debe indicar un módulo o un espacio de nombres válido en ese ensamblado. Los archivos de código fuente compilados con una referencia a este ensamblado se procesan en un entorno donde se abre automáticamente la ruta de acceso especificada.

type AutoSerializableAttribute

Cuando se agrega este atributo a un tipo con el valor 'false', se deshabilita el comportamiento según el cual F# convierte el tipo en serializable de forma predeterminada.

type byref<'T>

Representa un puntero administrado en código de F#.

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

Tipos auxiliares para modelos activos con 7 opciones.

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

Tipos auxiliares para modelos activos con 6 opciones.

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

Tipos auxiliares para modelos activos con 5 opciones.

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

Tipos auxiliares para modelos activos con 4 opciones.

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

Tipos auxiliares para modelos activos con 3 opciones.

type Choice<'T1,'T2>

Tipos auxiliares para modelos activos con 2 opciones.

type ClassAttribute

Cuando se agrega este atributo a un tipo, este se representa mediante una clase de CLI.

type CLIEventAttribute

Agregar este atributo a una propiedad con tipo de evento hace que se compile como un evento de metadatos de CLI mediante una traducción sintáctica a un par de métodos 'add_EventName' y 'remove_EventName'.

type ComparisonConditionalOnAttribute

Este atributo se utiliza para indicar que un tipo de contenedor genérico cumple la restricción de comparación de F# solo si un argumento genérico también la cumple. Por ejemplo, cuando se agrega este atributo al parámetro 'T en una definición de tipo C<'T>, esto significa que un tipo C<X> solo admite la comparación si el tipo X también la admite y se cumplen asimismo todas las demás condiciones para que C<X> admita la comparación. El tipo C<'T> puede usarse con otros argumentos de tipo, pero un tipo como C<(int -> int)> no admitirá la comparación porque el tipo (int -> int) es un tipo de función de F# y no admite la comparación.

type CompilationArgumentCountsAttribute

El compilador de F# genera automáticamente este atributo para marcar las funciones y los miembros que aceptan una aplicación parcial de algunos de sus argumentos y devuelven una función residual.

type CompilationMappingAttribute

El compilador de F# inserta automáticamente este atributo para etiquetar los tipos y métodos en el código de CLI generado con marcas que indican la correspondencia con las construcciones de origen originales. Lo utilizan las funciones del espacio de nombres Microsoft.FSharp.Reflection para realizar una asignación inversa de las construcciones compiladas a sus formatos originales. No está diseñado para usarlo en el código de usuario.

type CompilationRepresentationAttribute

Este atributo se utiliza para ajustar la representación de un tipo en tiempo de ejecución. Por ejemplo, se utiliza para indicar que se puede usar la representación null para un tipo. Esto afecta al modo de compilación de algunas construcciones.

type CompilationRepresentationFlags

Indica uno o más ajustes en la representación compilada de un tipo o un miembro de F#.

type CompilationSourceNameAttribute

El compilador de F# inserta automáticamente este atributo para marcar los métodos que reciben el atributo 'CompiledName'. No está diseñado para usarlo en el código de usuario.

type CompiledNameAttribute

Cuando se agrega este atributo a una definición de función o valor en un módulo de F#, cambia el nombre usado para el valor en el código compilado de CLI.

type CompilerMessageAttribute

Indica que debe emitirse un mensaje cuando el código fuente de F# utiliza esta construcción.

type CustomComparisonAttribute

Cuando se agrega este atributo a un tipo, se indica que se trata de un tipo con una implementación definida por el usuario de la comparación.

type CustomEqualityAttribute

Cuando se agrega este atributo a un tipo, se indica que se trata de un tipo con una implementación definida por el usuario de la igualdad.

type decimal<'Measure>

Tipo de los números decimales, con anotaciones de una unidad de medida. La unidad de medida se borra en el código compilado y cuando se analizan los valores de este tipo mediante la reflexión. En cuanto a la representación, el tipo es equivalente a System.Decimal.

type DefaultAugmentationAttribute

Agregar este atributo a una unión discriminada con un valor false desactiva la generación del evaluador de miembros auxiliares estándar, y miembros de constructor y descriptor de acceso para la clase de CLI generada para ese tipo.

type DefaultValueAttribute

Agregar este atributo a una declaración de campo significa que no se inicializa el campo. Durante la comprobación de tipos se declara una restricción de que el tipo de campo admite 'null'. Si el valor de 'check' es false, no se declara la restricción.

type EntryPointAttribute

Agregar este atributo a una función indica que es el punto de entrada para una aplicación. Si esta ausencia no se especifica para un EXE, se usa como punto de entrada la inicialización implícita en los enlaces de módulo del último archivo de la secuencia de compilación.

type EqualityConditionalOnAttribute

Este atributo se utiliza para indicar que un tipo de contenedor genérico cumple la restricción de igualdad de F# solo si un argumento genérico también la cumple. Por ejemplo, cuando se agrega este atributo al parámetro 'T en una definición de tipo C<'T>, esto significa que un tipo C<X> solo admite la igualdad si el tipo X también la admite y se cumplen asimismo todas las demás condiciones para que C<X> admita la igualdad. El tipo C<'T> puede usarse con otros argumentos de tipo, pero un tipo como C<(int -> int)> no admitirá la igualdad porque el tipo (int -> int) es un tipo de función de F# y no admite la igualdad.

type ExperimentalAttribute

Este atributo se usa para marcar valores que forman parte de una característica de biblioteca experimental.

type float<'Measure>

Tipo de los números de punto flotante, con anotaciones de una unidad de medida. La unidad de medida se borra en el código compilado y cuando se analizan los valores de este tipo mediante la reflexión. En cuanto a la representación, el tipo es equivalente a System.Double.

type float32<'Measure>

Tipo de los números de punto flotante, con anotaciones de una unidad de medida. La unidad de medida se borra en el código compilado y cuando se analizan los valores de este tipo mediante la reflexión. En cuanto a la representación, el tipo es equivalente a System.Single.

type FSharpFunc<'T,'U>

Tipo de CLI que se usa para representar valores de función de F#. Si bien este tipo no suele usarse directamente, se puede usar en otros lenguajes de CLI.

type FSharpInterfaceDataVersionAttribute

Este atributo se agrega a los ensamblados generados para indicar la versión del esquema de datos que se usa para codificar información específica adicional de F# en el recurso adjuntado a las bibliotecas de F# compiladas.

type FSharpTypeFunc

Tipo de CLI que se usa para representar los valores de funciones de tipo de primera clase de F#. Este tipo se usa en código de F# compilado.

type FuncConvert

Funciones auxiliares para convertir mediante delegados los valores de función de primera clase de F# en representaciones de CLI de las funciones, y viceversa.

type GeneralizableValueAttribute

Cuando se agrega este atributo a un valor que no sea de función con parámetros genéricos, el uso de la construcción puede dar lugar a código genérico a través de la inferencia de tipos.

type ilsigptr<'T>

Este tipo es para uso interno del generador de código de F#.

type int<'Measure>

Tipo de los números enteros con signo de 32 bits, con anotaciones de una unidad de medida. La unidad de medida se borra en el código compilado y cuando se analizan los valores de este tipo mediante la reflexión. En cuanto a la representación, el tipo es equivalente a System.Int32.

type int16<'Measure>

Tipo de los números enteros con signo de 16 bits, con anotaciones de una unidad de medida. La unidad de medida se borra en el código compilado y cuando se analizan los valores de este tipo mediante la reflexión. En cuanto a la representación, el tipo es equivalente a System.Int16.

type int64<'Measure>

Tipo de los números enteros con signo de 64 bits, con anotaciones de una unidad de medida. La unidad de medida se borra en el código compilado y cuando se analizan los valores de este tipo mediante la reflexión. En cuanto a la representación, el tipo es equivalente a System.Int64.

type InterfaceAttribute

Cuando se agrega este atributo a un tipo, este se representa mediante una interfaz de CLI.

type LiteralAttribute

Cuando se agrega este atributo a un valor, este se compila como un literal constante de CLI.

type MeasureAnnotatedAbbreviationAttribute

Cuando se agrega este atributo a un tipo, este se interpreta como un tipo refinado; actualmente, se limita a los tipos con parámetros definidos como medidas. Solo se puede usar en condiciones muy limitadas.

type MeasureAttribute

Cuando se agrega este atributo a un tipo, este se interpreta como una unidad de medida. Solo se puede usar en condiciones muy limitadas.

type nativeptr<'T>

Representa un puntero no administrado en código de F#.

type NoComparisonAttribute

Cuando se agrega este atributo a un tipo, se indica que se trata de un tipo para el cual la comparación es una operación anormal. Esto significa que el tipo no cumple la restricción de comparación de F#. En el sistema de tipos de F#, esto ayuda a garantizar que no se creen instancias de la función de comparación genérica de F# directamente en este tipo. El atributo y la comprobación no limitan el uso de la comparación con los tipos base o secundarios de este tipo.

type NoDynamicInvocationAttribute

Este atributo se utiliza para marcar los valores que no se pueden invocar dinámicamente en tiempo de ejecución. Se suele agregar a las funciones Inline cuyas implementaciones incluyen código no comprobable. De este modo, si se invoca dinámicamente, el cuerpo de método emitido para la función Inline inicia una excepción en lugar de incluir el código no comprobable en el ensamblado generado.

type NoEqualityAttribute

Cuando se agrega este atributo a un tipo, se indica que se trata de un tipo para el cual la igualdad es una operación anormal. Esto significa que el tipo no cumple la restricción de igualdad de F#. En el sistema de tipos de F#, esto ayuda a garantizar que no se creen instancias de la función de igualdad genérica de F# directamente en este tipo. El atributo y la comprobación no limitan el uso de la comparación con los tipos base o secundarios de este tipo.

type Option<'T>

Tipo de valores opcionales. Cuando se usa en otros lenguajes de CLI, la opción vacía es el valor null.

type OptionalArgumentAttribute

Este atributo se agrega automáticamente para todos los argumentos opcionales.

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

Tipo de una expresión de formato.

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

Tipo de una expresión de formato.

type Ref<'T>

Tipo de referencias mutables. Use las funciones [:=] y [!] para obtener y establecer valores de este tipo.

type ReferenceEqualityAttribute

Cuando se agrega este atributo a un tipo record o union, se deshabilita la generación automática de reemplazos de 'System.Object.Equals(obj)', 'System.Object.GetHashCode()' y 'System.IComparable' para el tipo. De forma predeterminada, el tipo utilizará la igualdad de referencia.

type ReflectedDefinitionAttribute

Cuando se agrega este atributo al enlace let para la definición de un valor de nivel superior, la expresión de código delimitada que implementa el valor pasa a estar disponible en tiempo de ejecución.

type RequireQualifiedAccessAttribute

Este atributo se utiliza para indicar que las referencias a los elementos de un tipo de módulo, registro o unión requieren el acceso calificado explícito.

type RequiresExplicitTypeArgumentsAttribute

Cuando se agrega este atributo a un tipo, valor o miembro, los usos de la construcción deben crear explícitamente instancias de los parámetros de tipo genérico.

type sbyte<'Measure>

Tipo de los números enteros con signo de 8 bits, con anotaciones de una unidad de medida. La unidad de medida se borra en el código compilado y cuando se analizan los valores de este tipo mediante la reflexión. En cuanto a la representación, el tipo es equivalente a System.SByte.

type SealedAttribute

Cuando se agrega este atributo a la definición de clase, pasa a ser un atributo sellado, lo que significa que no se puede extender ni implementar.

type SourceConstructFlags

Indica la relación entre una entidad compilada de un binario de CLI y un elemento en el código fuente de F#.

type StructAttribute

Cuando se agrega este atributo a un tipo, este se representa mediante un struct de CLI.

type StructuralComparisonAttribute

Al agregar este atributo a un tipo record, union, exception o struct, se confirma la generación automática de implementaciones de 'System.IComparable' para el tipo.

type StructuralEqualityAttribute

Cuando se agrega este atributo a un tipo record, union o struct, se confirma la generación automática de reemplazos de 'System.Object.Equals(obj)' y 'System.Object.GetHashCode()' para el tipo.

type StructuredFormatDisplayAttribute

Este atributo se utiliza para especificar cómo se muestra un tipo de forma predeterminada cuando se usan los modelos de formato de printf '%A' y otros diseños de presentación basados en texto bidimensionales. En esta versión de F#, los únicos valores válidos son los que tienen el formato PreText {PropertyName} PostText. El nombre de propiedad indica la propiedad que se va a evaluar y mostrar en lugar del propio objeto.

type Unit

Tipo "unit", que solo tiene un valor "()". Este valor es especial y siempre usa la representación "null".

type UnverifiableAttribute

Este atributo se utiliza para etiquetar los valores cuyo uso da lugar a la generación de código no comprobable. Estos valores se marcan inevitablemente 'inline' para asegurarse de que las construcciones no comprobables no estén presentes en el código real de la biblioteca de F# sino que se copien en el código fuente del llamador.

type VolatileFieldAttribute

Cuando se agrega este atributo a un enlace mutable de F#, se usa el prefijo "volátil" para todos los accesos al campo.

Abreviaturas de tipo

Tipo

Descripción

type array<'T>

Matrices unidimensionales de base cero, escritas int[], string[], etc.

type bigint

Enteros arbitrariamente grandes. Es una abreviatura del tipo BigInteger.

type bool

Es una abreviatura del tipo Boolean de CLI.

type byte

Es una abreviatura del tipo Byte de CLI.

type char

Es una abreviatura del tipo Char de CLI.

type decimal

Es una abreviatura del tipo Decimal de CLI.

type double

Es una abreviatura del tipo Double de CLI.

type exn

Es una abreviatura del tipo Exception de CLI.

type float

Es una abreviatura del tipo Double de CLI.

type float32

Es una abreviatura del tipo Single de CLI.

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

Tipo de una expresión de formato.

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

Tipo de una expresión de formato.

type int

Es una abreviatura del tipo Int32 de CLI.

type int16

Es una abreviatura del tipo Int16 de CLI.

type int32

Es una abreviatura del tipo Int32 de CLI.

type int64

Es una abreviatura del tipo Int64 de CLI.

type int8

Es una abreviatura del tipo SByte de CLI.

type nativeint

Es una abreviatura del tipo IntPtr de CLI.

type obj

Es una abreviatura del tipo Object de CLI.

type option<'T>

Tipo de valores opcionales. Cuando se usa en otros lenguajes de CLI, la opción vacía es el valor null.

type ref<'T>

Tipo de referencias mutables. Use las funciones [:=] y [!] para obtener y establecer valores de este tipo.

type sbyte

Es una abreviatura del tipo SByte de CLI.

type single

Es una abreviatura del tipo Single de CLI.

type string

Es una abreviatura del tipo String de CLI.

type uint16

Es una abreviatura del tipo UInt16 de CLI.

type uint32

Es una abreviatura del tipo UInt32 de CLI.

type uint64

Es una abreviatura del tipo UInt64 de CLI.

type uint8

Es una abreviatura del tipo Byte de CLI.

type unativeint

Es una abreviatura del tipo UIntPtr de CLI.

type unit

Tipo "unit", que solo tiene un valor "()". Este valor es especial y siempre usa la representación "null".

Excepciones

Excepción

Descripción

exception MatchFailureException

Los errores de coincidencia no exhaustivos iniciarán la excepción MatchFailureException.

Vea también

Otros recursos

Referencia de la biblioteca básica de F#