Справочные сведения о ключевых словах

В этом разделе содержатся ссылки на сведения обо всех ключевое слово языка F#.

Таблица ключевых слов F#

В следующей таблице показаны все ключевое слово F# в алфавитном порядке, а также краткие описания и ссылки на соответствующие разделы, содержащие дополнительные сведения.

Ключевое слово Установить связь Description
abstract Участники

Абстрактные классы
Указывает метод, который либо не имеет реализации в типе, в котором он объявлен или является виртуальным, и имеет реализацию по умолчанию.
and let Привязки

Записи

Участники

Ограничения
Используется в рекурсивных привязках и записях, в объявлениях свойств и с несколькими ограничениями на универсальные параметры.
as Классы

Соответствие шаблону
Используется для предоставления текущего объекта класса имени объекта. Также используется для присвоения имени целому шаблону в соответствии с шаблоном.
assert Утверждения Используется для проверки кода во время отладки.
base Классы

Наследование
Используется в качестве имени объекта базового класса.
begin Подробный синтаксис В подробном синтаксисе указывает начало блока кода.
class Классы В подробном синтаксисе указывает начало определения класса.
default Участники Указывает реализацию абстрактного метода; используется вместе с объявлением абстрактного метода для создания виртуального метода.
delegate Делегаты Используется для объявления делегата.
do Привязки do

Циклы: выражение for...to

Циклы: выражение for...in

Циклы: выражение while...do
Используется в конструкциях циклического цикла или для выполнения императивного кода.
done Подробный синтаксис В подробном синтаксисе указывает конец блока кода в выражении цикла.
downcast Приведение и преобразование Используется для преобразования в тип, который ниже в цепочке наследования.
downto Циклы: выражение for...to В выражении, используемом for при подсчете в обратном направлении.
elif Условные выражения: if...then...else Используется в условной ветви. Короткая форма else if.
else Условные выражения: if...then...else Используется в условной ветви.
end Структуры

Размеченные объединения

Записи

Расширения типов

Подробный синтаксис
В определениях типов и расширениях типов указывает конец раздела определений элементов.

В подробном синтаксисе, используемом для указания конца блока кода, который начинается с begin ключевое слово.
exception Обработка исключений

Типы исключения
Используется для объявления типа исключения.
extern Внешние функции Указывает, что объявленный элемент программы определен в другом двоичном файле или сборке.
false Типы-примитивы Используется как логический литерал.
finally Исключения: выражение try...finally Используется вместе с try введением блока кода, который выполняется независимо от того, возникает ли исключение.
fixed Фиксированной Используется для закрепления указателя на стеке, чтобы предотвратить сбор мусора.
for Циклы: выражение for...to

Циклы: выражение for...in
Используется в конструкциях циклического цикла.
fun Лямбда-выражения: ключевое fun слово Используется в лямбда-выражениях, также известных как анонимные функции.
function Выражения match

Лямбда-выражения: веселое ключевое слово
Используется в качестве более короткой альтернативы fun ключевое слово и match выражению в лямбда-выражении, которое соответствует шаблону для одного аргумента.
global Пространства имен Используется для ссылки на пространство имен .NET верхнего уровня.
if Условные выражения: if...then...else Используется в конструкциях условной ветвления.
in Циклы: выражение for...in

Подробный синтаксис
Используется для выражений последовательности и в подробном синтаксисе для разделения выражений от привязок.
inherit Наследование Используется для указания базового класса или базового интерфейса.
inline Функции

Встраиваемые функции
Используется для указания функции, которая должна быть интегрирована непосредственно в код вызывающего средства.
interface Интерфейсы Используется для объявления и реализации интерфейсов.
internal Контроль доступа Используется для указания того, что элемент отображается внутри сборки, но не за ее пределами.
lazy Отложенные выражения Используется для указания выражения, выполняемого только в том случае, если требуется результат.
let let Привязки Используется для связывания или привязки имени к значению или функции.
let! Асинхронные выражения

Выражения задач

Выражения вычисления
Используется в асинхронных выражениях для привязки имени к результату асинхронного вычисления или в других выражениях вычислений, используемых для привязки имени к результату, который является типом вычисления.
match Выражения match Используется для ветвления путем сравнения значения с шаблоном.
match! Выражения вычисления Используется для встроенного вызова выражения вычислений и сопоставления шаблонов в результатах.
member Участники Используется для объявления свойства или метода в типе объекта.
module Модули Используется для связывания имени с группой связанных типов, значений и функций для логического разделения его от другого кода.
mutable Привязки let Используется для объявления переменной, то есть значения, которое можно изменить.
namespace Пространства имен Используется для связывания имени с группой связанных типов и модулей, чтобы логически отделять его от другого кода.
new Конструкторы

Ограничения
Используется для объявления, определения или вызова конструктора, создающего или создающего объект.

Также используется в ограничениях универсальных параметров, чтобы указать, что тип должен иметь определенный конструктор.
not Справочник символов и операторов

Ограничения
На самом деле не ключевое слово. not struct Однако в сочетании используется в качестве универсального ограничения параметров.
null Значения NULL

Ограничения
Указывает отсутствие объекта.

Также используется в универсальных ограничениях параметров.
of Размеченные объединения

Делегаты

Типы исключения
Используется в различаемых объединениях, чтобы указать тип категорий значений, а также в объявлениях делегатов и исключений.
open Объявления импорта: ключевое слово open Используется для создания содержимого пространства имен или модуля без квалификации.
or Справочник символов и операторов

Ограничения
Используется с логическими условиями в качестве логического or оператора. Эквивалент ||.

Также используется в ограничениях элементов.
override Участники Используется для реализации версии абстрактного или виртуального метода, отличающегося от базовой версии.
private Контроль доступа Ограничивает доступ к члену коду в том же типе или модуле.
public Контроль доступа Разрешает доступ к элементу за пределами типа.
rec Функции Используется для указания, что функция рекурсивна.
return Выражения вычисления

Асинхронные выражения

Выражения задач
Используется для указания значения для предоставления в результате выражения вычисления.
return! Выражения вычисления

Асинхронные выражения

Выражения задач
Используется для указания выражения вычисления, которое при вычислении предоставляет результат содержащего вычислительного выражения.
select Выражения запросов Используется в выражениях запроса, чтобы указать, какие поля или столбцы необходимо извлечь. Обратите внимание, что это контекстная ключевое слово, что означает, что это не зарезервированное слово, и оно действует только как ключевое слово в соответствующем контексте.
static Участники Используется для указания метода или свойства, которое может вызываться без экземпляра типа или элемента значения, общего между всеми экземплярами типа.
struct Структуры

Кортежи

Ограничения
Используется для объявления типа структуры.

Используется для указания кортежа структуры.

Также используется в универсальных ограничениях параметров.

Используется для совместимости OCaml в определениях модулей.
then Условные выражения: if...then...else

Конструкторы
Используется в условных выражениях.

Также используется для выполнения побочных эффектов после строительства объекта.
to Циклы: выражение for...to Используется в for циклах для указания диапазона.
true Типы-примитивы Используется как логический литерал.
try Исключения: пробная попытка... с выражением

Исключения: пробная попытка... Выражение, наконец,
Используется для введения блока кода, который может создать исключение. Используется вместе с with или finally.
type Типы языка F#

Классы

Записи

Структуры

Перечисления

Размеченные объединения

Сокращенные формы типов

Единицы измерения
Используется для объявления класса, записи, структуры, дискриминированного объединения, типа перечисления, единицы измерения или сокращения типов.
upcast Приведение и преобразование Используется для преобразования в тип, который выше в цепочке наследования.
use Управление ресурсами: ключевое слово use Используется вместо значений let , которые требуют Dispose вызова к бесплатным ресурсам.
use! Выражения вычисления

Асинхронные выражения

Выражения задач
Используется вместо let! асинхронных выражений и других вычислительных выражений для значений, которые требуют Dispose вызова к свободным ресурсам.
val Явные поля. Ключевое словоval

Сигнатуры

Участники
Используется в сигнатуре для указания значения или типа для объявления члена в ограниченных ситуациях.
void Типы-примитивы Указывает тип .NET void . Используется при взаимодействии с другими языками .NET.
when Ограничения Используется для логических условий (когда охранники) в совпадениях шаблонов и вводит предложение ограничения для параметра универсального типа.
while Циклы: выражение while...do Представляет конструкцию циклического цикла.
with Выражения match

Выражения объекта

Копирование и обновление выражений записей

Расширения типов

Исключения: выражение try...with
Используется вместе с match ключевое слово в выражениях сопоставления шаблонов. Кроме того, используется в выражениях объектов, записях выражений копирования и расширениях типов для введения определений элементов и введения обработчиков исключений.
yield Списки, массивы, последовательности Используется в выражении списка, массива или последовательности для создания значения для последовательности. Как правило, может быть опущено, так как в большинстве случаев это неявно.
yield! Выражения вычисления

Асинхронные выражения

Выражения задач
Используется в вычислительном выражении для добавления результата заданного вычислительного выражения в коллекцию результатов для содержащего вычислительного выражения.
const Поставщики типов Поставщики типов позволяют использовать const как ключевое слово указывать константный литерал в качестве аргумента параметра типа.

Следующие маркеры зарезервированы в F#, так как они ключевое слово на языке OCaml:

  • asr
  • land
  • lor
  • lsl
  • lsr
  • lxor
  • mod
  • sig

Если вы используете параметр компилятора, приведенные --mlcompatibility выше ключевое слово доступны для использования в качестве идентификаторов.

Следующие маркеры зарезервированы как ключевое слово для дальнейшего расширения F#:

  • break
  • checked
  • component
  • const
  • constraint
  • continue
  • event
  • external
  • include
  • mixin
  • parallel
  • process
  • protected
  • pure
  • sealed
  • tailcall
  • trait
  • virtual

Следующие токены были зарезервированы как ключевое слово, но были выпущены в F# 4.1, поэтому теперь их можно использовать в качестве идентификаторов:

Ключевое слово Причина
method Используйте member для внедрения методов.
constructor Используется new для внедрения конструкторов.
atomic Связанные с фад для транзакционной памяти около 2006 года. Теперь это будет определяемое библиотекой выражение вычислений.
eager Больше не требуется; изначально он был разработан, чтобы соответствовать let eager потенциалу let lazy.
object Не нужно резервировать это.
recursive Используйте rec.
functor Если F# добавил параметризованные модули, вы бы использовали module M(args) = ....
measure Атрибут [<Measure>] достаточно.
volatile Атрибут [<Volatile>] достаточно.

См. также