Dela via


Nyckelordsreferens

Det här avsnittet innehåller länkar till information om alla nyckelord för F#-språk.

Nyckelordstabell för F#

I följande tabell visas alla F#-nyckelord i alfabetisk ordning, tillsammans med korta beskrivningar och länkar till relevanta ämnen som innehåller mer information.

Nyckelord Länka beskrivning
abstract Medlemmar

Abstrakta klasser
Anger en metod som antingen inte har någon implementering i den typ där den deklareras eller som är virtuell och har en standardimplementering.
and let Bindningar

Poster

Medlemmar

Restriktioner
Används i ömsesidigt rekursiva bindningar och poster, i egenskapsdeklarationer och med flera begränsningar för generiska parametrar.
as Klasser

Mönstermatchning
Används för att ge det aktuella klassobjektet ett objektnamn. Används också för att ge ett namn till ett helt mönster inom en mönstermatchning.
assert Påståenden Används för att verifiera kod under felsökning.
base Klasser

Arv
Används som namnet på basklassobjektet.
begin Utförlig syntax I utförlig syntax anger inledningen av ett kodblock.
class Klasser I utförlig syntax anger inledningen av en klassdefinition.
default Medlemmar Anger en implementering av en abstrakt metod. används tillsammans med en abstrakt metoddeklaration för att skapa en virtuell metod.
delegate Delegater Används för att deklarera ett ombud.
do göra bindningar

Loopar: for...to Uttryck

Loopar: for...in Uttryck

Loopar: while...do Uttryck
Används i loopkonstruktioner eller för att köra imperativ kod.
done Utförlig syntax I utförlig syntax anger slutet på ett kodblock i ett loopningsuttryck.
downcast Gjutning och konverteringar Används för att konvertera till en typ som är lägre i arvskedjan.
downto Loopar: for...to Uttryck I ett for uttryck används när du räknar i omvänd ordning.
elif Villkorsstyrda uttryck: if...then...else Används i villkorsstyrd förgrening. En kort form av else if.
else Villkorsstyrda uttryck: if...then...else Används i villkorsstyrd förgrening.
end Structs

Diskriminerade fackföreningar

Poster

Typtillägg

Utförlig syntax
I typdefinitioner och typtillägg anger du slutet på ett avsnitt med medlemsdefinitioner.

I utförlig syntax används för att ange slutet på ett kodblock som börjar med nyckelordet begin .
exception Undantagshantering

Undantagstyper
Används för att deklarera en undantagstyp.
extern Externa funktioner Anger att ett deklarerat programelement definieras i en annan binär fil eller sammansättning.
false Primitiva typer Används som en boolesk literal.
finally Undantag: Uttrycket try...finally Används tillsammans med try för att introducera ett kodblock som körs oavsett om ett undantag inträffar.
fixed Fast Används för att "fästa" en pekare på stacken för att förhindra att den samlas in skräp.
for Loopar: for...to Uttryck

Loopar: för... i uttryck
Används i loopkonstruktioner.
fun Lambda-uttryck: Nyckelordet fun Används i lambda-uttryck, även kallade anonyma funktioner.
function Matcha uttryck

Lambda Uttryck: Det roliga nyckelordet
Används som ett kortare alternativ till nyckelordet fun och ett match uttryck i ett lambda-uttryck som har mönstermatchning på ett enda argument.
global Namnområden Används för att referera till .NET-namnområdet på den översta nivån.
if Villkorsstyrda uttryck: if...then...else Används i konstruktioner för villkorsstyrd förgrening.
in Loopar: för... i uttryck

Utförlig syntax
Används för sekvensuttryck och, i utförlig syntax, för att separera uttryck från bindningar.
inherit Arv Används för att ange en basklass eller ett basgränssnitt.
inline Funktioner

Infogade funktioner
Används för att ange en funktion som ska integreras direkt i anroparens kod.
interface Gränssnitt Används för att deklarera och implementera gränssnitt.
internal Access Control Används för att ange att en medlem är synlig i en sammansättning men inte utanför den.
lazy Lata uttryck Används för att ange ett uttryck som endast ska utföras när ett resultat behövs.
let let Bindningar Används för att associera, eller binda, ett namn till ett värde eller en funktion.
let! Asynkrona uttryck

Uppgiftsuttryck

Beräkningsuttryck
Används i asynkrona uttryck för att binda ett namn till resultatet av en asynkron beräkning, eller i andra beräkningsuttryck som används för att binda ett namn till ett resultat, vilket är av beräkningstypen.
match Matcha uttryck Används för att förgrena genom att jämföra ett värde med ett mönster.
match! Beräkningsuttryck Används för att infoga ett anrop till ett beräkningsuttryck och mönstermatchning på resultatet.
member Medlemmar Används för att deklarera en egenskap eller metod i en objekttyp.
module Modules Används för att associera ett namn med en grupp med relaterade typer, värden och funktioner för att logiskt skilja det från annan kod.
mutable låt bindningar Används för att deklarera en variabel, det vill säga ett värde som kan ändras.
namespace Namnområden Används för att associera ett namn med en grupp med relaterade typer och moduler för att logiskt skilja det från annan kod.
new Konstruktörer

Restriktioner
Används för att deklarera, definiera eller anropa en konstruktor som skapar eller som kan skapa ett objekt.

Används också i allmänna parameterbegränsningar för att indikera att en typ måste ha en viss konstruktor.
not Symbol- och operatorreferens

Restriktioner
Inte ett nyckelord. I kombination används dock not struct som en allmän parameterbegränsning.
null Null-värden

Restriktioner
Anger frånvaron av ett objekt.

Används även i allmänna parameterbegränsningar.
of Diskriminerade fackföreningar

Delegater

Undantagstyper
Används i diskriminerade fackföreningar för att ange typ av värdekategorier samt i ombuds- och undantagsdeklarationer.
open Importdeklarationer: Nyckelordet open Används för att göra innehållet i ett namnområde eller en modul tillgängligt utan kvalificering.
or Symbol- och operatorreferens

Restriktioner
Används med booleska villkor som boolesk or operator. Motsvarar ||.

Används även i medlemsbegränsningar.
override Medlemmar Används för att implementera en version av en abstrakt eller virtuell metod som skiljer sig från basversionen.
private Access Control Begränsar åtkomsten till en medlem till kod i samma typ eller modul.
public Access Control Tillåter åtkomst till en medlem utanför typen.
rec Funktioner Används för att indikera att en funktion är rekursiv.
return Beräkningsuttryck

Asynkrona uttryck

Uppgiftsuttryck
Används för att ange ett värde som ska anges som ett resultat av ett beräkningsuttryck.
return! Beräkningsuttryck

Asynkrona uttryck

Uppgiftsuttryck
Används för att ange ett beräkningsuttryck som, när det utvärderas, ger resultatet av det innehållande beräkningsuttrycket.
select Frågeuttryck Används i frågeuttryck för att ange vilka fält eller kolumner som ska extraheras. Observera att det här är ett kontextuellt nyckelord, vilket innebär att det faktiskt inte är ett reserverat ord och att det bara fungerar som ett nyckelord i lämplig kontext.
static Medlemmar Används för att ange en metod eller egenskap som kan anropas utan en instans av en typ eller en värdemedlem som delas mellan alla instanser av en typ.
struct Structs

Tupler

Restriktioner
Används för att deklarera en strukturtyp.

Används för att ange en struct tuppeln.

Används även i allmänna parameterbegränsningar.

Används för OCaml-kompatibilitet i moduldefinitioner.
then Villkorsstyrda uttryck: if...then...else

Konstruktörer
Används i villkorsuttryck.

Används också för att utföra biverkningar efter objektkonstruktion.
to Loopar: for...to Uttryck Används i for loopar för att ange ett intervall.
true Primitiva typer Används som en boolesk literal.
try Undantag: Försök... med uttryck

Undantag: Försök... äntligen uttryck
Används för att introducera ett kodblock som kan generera ett undantag. Används tillsammans med with eller finally.
type F#-typer

Klasser

Poster

Structs

Uppräkningar

Diskriminerade fackföreningar

Skriv förkortningar

Måttenheter
Används för att deklarera en klass, post, struktur, diskriminerad union, uppräkningstyp, måttenhet eller typförkortning.
upcast Gjutning och konverteringar Används för att konvertera till en typ som är högre i arvskedjan.
use Resurshantering: Nyckelordet use Används i stället let för för värden som kräver Dispose att anropas till kostnadsfria resurser.
use! Beräkningsuttryck

Asynkrona uttryck

Uppgiftsuttryck
Används i stället för let! i asynkrona uttryck och andra beräkningsuttryck för värden som måste Dispose anropas för att frigöra resurser.
val Explicita fält: Nyckelordet val

Signaturer

Medlemmar
Används i en signatur för att ange ett värde, eller i en typ för att deklarera en medlem, i begränsade situationer.
void Primitiva typer Anger .NET-typen void . Används när du samverkar med andra .NET-språk.
when Restriktioner Används för booleska villkor (när skydd) på mönster matchar och för att införa en begränsningssats för en generisk typparameter.
while Loopar: while...do Uttryck Introducerar en loopkonstruktion.
with Matcha uttryck

Objektuttryck

Kopiera och uppdatera postuttryck

Typtillägg

Undantag: Uttrycket try...with
Används tillsammans med nyckelordet match i mönstermatchningsuttryck. Används även i objektuttryck, postkopieringsuttryck och typtillägg för att introducera medlemsdefinitioner och för att introducera undantagshanterare.
yield Listor, matriser, sekvenser Används i en lista, en matris eller ett sekvensuttryck för att skapa ett värde för en sekvens. Vanligtvis kan utelämnas, eftersom det är implicit i de flesta situationer.
yield! Beräkningsuttryck

Asynkrona uttryck

Uppgiftsuttryck
Används i ett beräkningsuttryck för att lägga till resultatet av ett givet beräkningsuttryck i en samling resultat för det innehållande beräkningsuttrycket.
const Typprovidrar Typprovidrar tillåter användning av const som nyckelord för att ange en konstant literal som ett typparameterargument.

Följande token är reserverade i F# eftersom de är nyckelord på OCaml-språket:

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

Om du använder --mlcompatibility kompileringsalternativet är ovanstående nyckelord tillgängliga för användning som identifierare.

Följande token är reserverade som nyckelord för framtida expansion av F#:

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

Följande token reserverades en gång som nyckelord men släpptes i F# 4.1, så nu kan du använda dem som identifierare:

Nyckelord Anledning
method Använd member för att introducera metoder.
constructor Använd new för att introducera konstruktorer.
atomic Relaterat till modeflugan för transaktionsminnet cirka 2006. Detta skulle nu vara ett biblioteksdefinierat beräkningsuttryck.
eager Behövs inte längre. Den utformades ursprungligen för att matcha let eager en potentiell let lazy.
object Du behöver inte reservera detta.
recursive Använd rec.
functor Om F# har lagt till parametriserade moduler använder module M(args) = ...du .
measure Attributet [<Measure>] räcker.
volatile Attributet [<Volatile>] räcker.

Se även