Пространство имен Microsoft.FSharp.Core (F#)
Это пространство имен содержит функции, которые поддерживают основные компоненты и возможности F#, в частности примитивы языка, операторы, атрибуты, простые типы, строки и форматированный ввод-вывод.
Пространство имен/путь к модулю: Microsoft.FSharp.Core
Сборка: FSharp.Core (в FSharp.Core.dll)
namespace Microsoft.FSharp.Core
Модули
Модуль |
Описание |
---|---|
Модуль ExtraTopLevelOperators |
Дополнительные операторы и типы F#, доступные без открытия модуля или пространства имен. |
Модуль LanguagePrimitives |
Языковые примитивы, связанные с языком F#. |
Модуль NumericLiterals |
Предоставляет реализации по умолчанию синтаксиса числовых литералов F# для формы "dddI". |
Модуль Operators |
Основные операторы F#.Этот модуль автоматически открывается во всем коде F#. |
Модуль OptimizedClosures |
Модуль реализации, в котором содержатся частные реализации вызова функции. |
Модуль Option |
Основные операции над параметрами. |
Модуль Printf |
Расширенное форматирование в стиле printf для чисел и других типов данных |
Модуль String |
Операторы функционального программирования для обработки строк.Другие операции со строками осуществляются с помощью строковых функций-членов и других функций в типах String и Regex. |
Определения типов
Тип |
Описание |
---|---|
Тип [,,,]<'T> |
Четырехмерные массивы, индексация которых, как правило, ведется с нуля.Массивы, индексация которых начинается не с нуля, могут создаваться с помощью методов типа System.Array. |
Тип [,,]<'T> |
Трехмерные массивы, индексация которых, как правило, ведется с нуля.Массивы, индексация которых начинается не с нуля, могут создаваться с помощью методов типа System.Array. |
Тип [,]<'T> |
Двумерные массивы, индексация которых, как правило, ведется с нуля. |
Тип []<'T> |
Одномерные массивы с индексацией от нуля, которые описываются с помощью int[], string[] и т. п. |
При добавлении этого атрибута в определение класса класс становится абстрактным, т. е. его методы реализовать не нужно.Экземпляры абстрактного класса нельзя создать напрямую. |
|
При добавлении этого атрибута в класс разрешается использование литерала "null" для этого типа в коде F#.Этот атрибут можно добавить только к определенному классу или типу интерфейса F#. |
|
Этот атрибут используется в двух целях.При применении к сборке ему передается строковый аргумент, который должен определять допустимый модуль или пространство имен в этой сборке.Файлы исходного кода, скомпилированные со ссылкой на эту сборку, обрабатываются в среде, в которой указанный путь открывается автоматически. |
|
При добавлении к типу этого атрибута со значением false данный тип перестает быть сериализуемым по умолчанию в среде F#. |
|
Тип byref<'T> |
Представляет управляемый указатель в коде F#. |
Вспомогательные типы для активных шаблонов с 7 вариантами выбора. |
|
Вспомогательные типы для активных шаблонов с 6 вариантами выбора. |
|
Вспомогательные типы для активных шаблонов с 5 вариантами выбора. |
|
Вспомогательные типы для активных шаблонов с 4 вариантами выбора. |
|
Вспомогательные типы для активных шаблонов с 3 вариантами выбора. |
|
Тип Choice<'T1,'T2> |
Вспомогательные типы для активных шаблонов с 2 вариантами выбора. |
Тип ClassAttribute |
Добавление данного атрибута к типу приводит к представлению этого типа посредством класса CLI. |
При добавлении этого атрибута к свойству с типом события свойство компилируется как событие метаданных инфраструктуры CLI с помощью синтаксического преобразования в пару методов add_EventName и remove_EventName. |
|
Добавление этого атрибута в тип записи вызывает его компиляцию в представлении CLI при помощи конструктора по умолчанию и средствами получения и задания свойств. |
|
Данный атрибут используется для обозначения типа универсального контейнера и удовлетворяет ограничению F# comparison только в том случае, если универсальный аргумент также удовлетворяет этому ограничению.Например, добавление этого атрибута к параметру 'T при определении типа C<'T> означает, что тип C<X> поддерживает только сравнение, если тип X также поддерживает сравнение и все остальные условия поддержки сравнения C<X> также соблюдены.Тип C<'T> можно использовать и с другими аргументами типов, но такой тип, как C<(int -> int)>, не будет поддерживать сравнение, поскольку тип (int -> int) представляет собой тип функции F# и не поддерживает сравнение. |
|
Этот атрибут автоматически создается компилятором F# для отметки функций и элементов, принимающих частичное применение некоторых их аргументов и возвращающих функцию более старой версии |
|
Этот атрибут автоматически создается компилятором F# для отметки функций и методов в созданном коде CLI с флажками, указывающими на соответствие исходным конструкциям.Он используется функциями в пространстве имен Microsoft.FSharp.Reflection для конструкций, скомпилированных с обратным сопоставлением в первоначальную форму.Он не предназначен для прямого использования в пользовательском коде. |
|
Этот атрибут используется для настройки представления типа в среде выполнения.Например, его можно применять для обозначения того, что для типа может использоваться представление значения null.Это влияет на способ компиляции некоторых конструкций. |
|
Обозначает одно или несколько изменений скомпилированного представления типа или члена F#. |
|
Этот атрибут автоматически создается компилятором F# для отметки методов с атрибутом CompiledName.Он не предназначен для прямого использования в пользовательском коде. |
|
При добавлении этого атрибута в значение или определении функции в модуле F# изменяется имя значения в скомпилированном коде CLI. |
|
Обозначает, что следует создать предупреждающее сообщение при использовании этой конструкции в исходном коде F#. |
|
Добавление этого атрибута к типу обозначает, что это тип с пользовательской реализацией сравнения. |
|
Добавление этого атрибута к типу обозначает, что это тип с пользовательской реализацией равенства. |
|
Указывает, что элемент типа построителя вычислений является оператором пользовательского запроса, и указывает имя этого оператора |
|
Тип десятичных чисел, для которых указана единица измерения.Единица измерения удаляется из скомпилированного кода и при анализе значений данного типа с использованием отражения.Данный тип является эквивалентным представлением типа System.Decimal. |
|
При добавлении этого атрибута в размеченное объединение со значением false отключается создание стандартного тестировщика вспомогательного метода, конструктора и методов доступа для созданного класса CLI данного типа. |
|
При добавлении этого атрибута в объявление поля оно не инициализируется.Во время проверки типов применяется ограничение: тип поля поддерживает значение NULL.Если значение check равно false, то ограничение не используется. |
|
Добавление этого атрибута к функции обозначает, что это точка входа для приложения.Если он отсутствует или не указан для EXE-файла, то в качестве точки входа используется явная функция инициализации в привязках модуля последнего файла последовательности компиляции. |
|
Данный атрибут используется для обозначения типа универсального контейнера и удовлетворяет ограничению F# equality только в том случае, если универсальный аргумент также удовлетворяет этому ограничению.Например, добавление этого атрибута к параметру 'T при определении типа C<'T> означает, что тип C<X> поддерживает только равенство, если тип X также поддерживает равенство и все остальные условия поддержки равенства C<X> также соблюдены.Тип C<'T> можно использовать и с другими аргументами типов, но такой тип, как C<(int -> int)>, не будет поддерживать равенство, поскольку тип (int -> int) представляет собой тип функции F# и не поддерживает равенство. |
|
Этот атрибут используется для отметки значений, являющихся частью экспериментальной библиотеки. |
|
Тип float<'Measure> |
Тип чисел с плавающей точкой, для которых указана единица измерения.Единица измерения удаляется из скомпилированного кода и при анализе значений данного типа с использованием отражения.Данный тип является эквивалентным представлением типа System.Double. |
Тип чисел с плавающей точкой, для которых указана единица измерения.Единица измерения удаляется из скомпилированного кода и при анализе значений данного типа с использованием отражения.Данный тип является эквивалентным представлением типа System.Single. |
|
Тип CLI, используемый для представления значений функции F#.Этот тип обычно не должен использоваться напрямую, хотя его можно использовать в других языках CLI. |
|
Этот атрибут добавляется к созданным сборкам, чтобы указать версию схемы данных, которая используется для кодировки дополнительных сведений F# в ресурсе, прикрепленному к скомпилированным библиотекам F#. |
|
Тип FSharpTypeFunc |
Тип CLI, используемый для представления значений функции первого класса F#.Этот тип предназначен для использования скомпилированным кодом F#. |
Тип FuncConvert |
Вспомогательные функции для преобразования значений функций первого класса F# в представления функций CLI с использованием делегатов и обратно. |
При добавлении этого атрибута к нефункциональному значению с универсальными параметрами обозначает, что при использовании данной конструкции может применяться универсальный код с помощью определения типа. |
|
Тип ilsigptr<'T> |
Этот тип предназначен для внутреннего использования компилятором кода F#. |
Тип int<'Measure> |
Тип 32-разрядных целых чисел со знаком, для которых указана единица измерения.Единица измерения удаляется из скомпилированного кода и при анализе значений данного типа с использованием отражения.Данный тип является эквивалентным представлением типа System.Int32. |
Тип int16<'Measure> |
Тип 16-разрядных целых чисел со знаком, для которых указана единица измерения.Единица измерения удаляется из скомпилированного кода и при анализе значений данного типа с использованием отражения.Данный тип является эквивалентным представлением типа System.Int16. |
Тип int64<'Measure> |
Тип 64-разрядных целых чисел со знаком, для которых указана единица измерения.Единица измерения удаляется из скомпилированного кода и при анализе значений данного типа с использованием отражения.Данный тип является эквивалентным представлением типа System.Int64. |
Добавление данного атрибута к типу приводит к представлению этого типа посредством интерфейса CLI. |
|
Тип LiteralAttribute |
Добавление данного атрибута к значению приводит к тому, что оно компилируется как постоянный литерал CLI. |
Добавление данного атрибута к типу приводит к тому, что этот тип интерпретируется как уточненный, что в настоящее время ограничивается параметризованными типами измерений.Использование допустимо только при очень ограниченных условиях. |
|
Тип MeasureAttribute |
Добавление данного атрибута к типу приводит к тому, что он интерпретируется как единица измерения.Использование допустимо только при очень ограниченных условиях. |
Тип nativeptr<'T> |
Представляет неуправляемый указатель в коде F#. |
Добавление этого атрибута к типу обозначает, что операция сравнения применительно к данному типу не является нормальной.Это значит, что данный тип не удовлетворяет ограничению F# comparison.В пределах системы типов F# это помогает избегать создания экземпляров функции универсального сравнения F# непосредственно в этом типе. Данный атрибут и проверка не ограничивают использование сравнения с базовым типом или его дочерними типами. |
|
Этот атрибут используется для отметки значений, которые нельзя вызывать динамически во время выполнения.Он обычно добавляется ко встроенным функциям, в реализации которых есть непроверяемый код.Из-за этого тело метода встроенной функции вызывает исключение, если вместо включения непроверяемого кода в созданную сборку динамически вызывается эта функция. |
|
Добавление этого атрибута к типу обозначает, что операция равенства применительно к данному типу не является нормальной.Это значит, что данный тип не удовлетворяет ограничению F# equality.В пределах системы типов F# это помогает избегать создания экземпляров универсальной функции равенства F# непосредственно в этом типе.Данный атрибут и проверка не ограничивают использование сравнения с базовым типом или его дочерними типами. |
|
Тип Option<'T> |
Тип необязательных значений.При использовании из других языков инфраструктуры CLI пустой параметр имеет значение null. |
Данный атрибут автоматически добавляется ко всем необязательным аргументам. |
|
Тип выражения форматирования. |
|
Тип выражения форматирования. |
|
Указывает на то, что, если пользовательский оператор используется в выражении вычисления, параметр автоматически параметризован переменной пробелом выражения вычисления. |
|
Тип Ref<'T> |
Тип изменяемых ссылок.Используйте функции [:=] и [!], чтобы получить и задать значения этого типа. |
При добавлении этого атрибута в запись или объединение отключается автоматическое создание перегруженных вариантов System.Object.Equals(obj), System.Object.GetHashCode() и System.IComparable для данного типа.По умолчанию тип будет использовать ссылочное равенство. |
|
Добавление этого атрибута в привязку let для определения значения верхнего уровня делает выражение в кавычках, реализующее значение, доступным для использования в среде выполнения. |
|
Этот атрибут используется для обозначения того, что для ссылок на элементы модуля, записи или объединения нужен явный метод доступа. |
|
При добавлении этого атрибута к типу, значению или члену, который использует данную конструкцию, необходимо явно создавать экземпляр параметров универсального типа. |
|
Тип sbyte<'Measure> |
Тип 8-разрядных целых чисел со знаком, для которых указана единица измерения.Единица измерения удаляется из скомпилированного кода и при анализе значений данного типа с использованием отражения.Данный тип является эквивалентным представлением типа System.SByte. |
Тип SealedAttribute |
При добавлении этого атрибута в определение класса он становится запечатанным, т. е. его нельзя расширять или реализовывать. |
Указывает связь скомпилированной сущности в двоичном файле CLI и элемента в исходном коде F#. |
|
Тип StructAttribute |
Добавление данного атрибута к типу приводит к представлению этого типа посредством структуры CLI. |
При добавлении этого атрибута в запись, объединение, исключение или структуру подтверждается автоматическое создание реализаций System.IComparable для данного типа. |
|
При добавлении этого атрибута в тип записи, объединения или структуры подтверждается автоматическое создание перегруженных вариантов System.Object.Equals(obj) и System.Object.GetHashCode() для данного типа. |
|
Данный атрибут применяется для отметки способа отображения типа по умолчанию при использовании шаблонов форматирования %A printf и других двухмерных текстовых форматов вывода значений.В данной версии F# допустимы только значения в форме PreText {PropertyName} PostText.Имя свойства обозначает свойство, подлежащее вычислению и отображению вместо самого объекта. |
|
Тип Unit |
Тип unit, для которого предусмотрено только одно значение — "()".Это значение является особым и всегда использует представление значения NULL. |
Этот атрибут используется для отметки значений, использование которых может привести к созданию непроверяемого кода.Эти значения неизбежно снабжаются пометкой inline, чтобы гарантировать отсутствие непроверяемых конструкций в фактическом коде библиотеки F# и их копирование в исходный код вызывающего объекта. |
|
Добавление этого атрибута к изменяемой привязке F# приводит к применению префикса volatile ко всем случаям доступа к полю. |
Сокращенные обозначения типов
Тип |
Описание |
---|---|
Тип array<'T> |
Одинарные, нулевой- многомерного массивов, написанные на основе int[], string[] т д. |
Тип bigint |
Целые произвольно большой длины.Сокращенное обозначение типа BigInteger. |
Тип bool |
Сокращенное обозначение типа Boolean инфраструктуры CLI. |
Тип byte |
Сокращенное обозначение типа Byte инфраструктуры CLI. |
Тип char |
Сокращенное обозначение типа Char инфраструктуры CLI. |
Тип decimal |
Сокращенное обозначение типа Decimal инфраструктуры CLI. |
Тип double |
Сокращенное обозначение типа Double инфраструктуры CLI. |
Тип exn |
Сокращенное обозначение типа Exception инфраструктуры CLI. |
Тип float |
Сокращенное обозначение типа Double инфраструктуры CLI. |
Тип float32 |
Сокращенное обозначение типа Single инфраструктуры CLI. |
Тип выражения форматирования. |
|
Тип выражения форматирования. |
|
Тип int |
Сокращенное обозначение типа Int32 инфраструктуры CLI. |
Тип int16 |
Сокращенное обозначение типа Int16 инфраструктуры CLI. |
Тип int32 |
Сокращенное обозначение типа Int32 инфраструктуры CLI. |
Тип int64 |
Сокращенное обозначение типа Int64 инфраструктуры CLI. |
Тип int8 |
Сокращенное обозначение типа SByte инфраструктуры CLI. |
Тип nativeint |
Сокращенное обозначение типа IntPtr инфраструктуры CLI. |
Тип obj |
Сокращенное обозначение типа Object инфраструктуры CLI. |
Тип option<'T> |
Тип необязательных значений.При использовании из других языков инфраструктуры CLI пустой параметр имеет значение null. |
Тип ref<'T> |
Тип изменяемых ссылок.Используйте функции [:=] и [!], чтобы получить и задать значения этого типа. |
Тип sbyte |
Сокращенное обозначение типа SByte инфраструктуры CLI. |
Тип single |
Сокращенное обозначение типа Single инфраструктуры CLI. |
Тип string |
Сокращенное обозначение типа String инфраструктуры CLI. |
Тип uint16 |
Сокращенное обозначение типа UInt16 инфраструктуры CLI. |
Тип uint32 |
Сокращенное обозначение типа UInt32 инфраструктуры CLI. |
Тип uint64 |
Сокращенное обозначение типа UInt64 инфраструктуры CLI. |
Тип uint8 |
Сокращенное обозначение типа Byte инфраструктуры CLI. |
Тип unativeint |
Сокращенное обозначение типа UIntPtr инфраструктуры CLI. |
Тип unit |
Тип unit, для которого предусмотрено только одно значение — "()".Это значение является особым и всегда использует представление значения NULL. |
Исключения
Исключение |
Описание |
---|---|
Исключение MatchFailureException |
Ошибки неисчерпывающего совпадения вызывают исключение MatchFailureException |