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

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

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

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

Ключевое слово Ссылка Описание
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
Используется в качестве более короткой альтернативы 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 Исключения: выражение try...with

Выражения: выражение try...finally
Используется для представления блока кода, который может создать исключение. Используется совместно с 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 комммунити F # с радостью member познакомится с методами
constructor комммунити F # с радостью new познакомится с конструкторами
atomic Это было связано с причудах для транзакционной памяти приблизительно 2006. В F # теперь это будет определяемое библиотекой вычислительное выражение
eager Эта возможность больше не нужна, она изначально была разработана так, чтобы let eager соответствовать потенциальной let lazy
object нет необходимости зарезервировать этот
recursive F # с радостью использовать rec
functor Если F # добавил параметереизед модули, мы будем использовать module M(args) = ...
measure Нет никакой конкретной причины зарезервировать эти дни, [<Measure>] атрибут достаточно
volatile Нет никакой конкретной причины зарезервировать эти дни, [<Volatile>] атрибут достаточно

См. также