Riferimento per parole chiave
Questo argomento contiene collegamenti a informazioni su tutte le parole chiave del linguaggio F#.
Tabella delle parole chiave F#
La tabella seguente mostra tutte le parole chiave F# in ordine alfabetico, insieme a brevi descrizioni e collegamenti ad argomenti pertinenti che contengono altre informazioni.
Parola chiave | Collega | Descrizione |
---|---|---|
abstract |
Members Classi astratte |
Indica un metodo che non ha implementazioni nel tipo in cui è dichiarato o che è virtuale e ha un'implementazione predefinita. |
and |
let AssociazioniRecord Members Vincoli |
Usato in associazioni ricorsive e record, nelle dichiarazioni di proprietà e con più vincoli sui parametri generici. |
as |
Classi Criteri di ricerca |
Utilizzato per assegnare all'oggetto classe corrente un nome di oggetto. Usato anche per assegnare un nome a un modello intero all'interno di una corrispondenza del criterio. |
assert |
Asserzioni | Usato per verificare il codice durante il debug. |
base |
Classi Ereditarietà |
Utilizzato come nome dell'oggetto classe di base. |
begin |
Sintassi dettagliata | Nella sintassi dettagliata indica l'inizio di un blocco di codice. |
class |
Classi | Nella sintassi dettagliata indica l'inizio di una definizione di classe. |
default |
Members | Indica un'implementazione di un metodo astratto; usato insieme a una dichiarazione di metodo astratto per creare un metodo virtuale. |
delegate |
Delegati | Utilizzato per dichiarare un delegato. |
do |
Associazioni do Cicli: espressione for...to Cicli: espressione for...in Cicli: espressione while...do |
Usato nei costrutti di ciclo o per eseguire codice imperativo. |
done |
Sintassi dettagliata | Nella sintassi dettagliata indica la fine di un blocco di codice in un'espressione di ciclo. |
downcast |
Cast e conversioni | Utilizzato per eseguire la conversione in un tipo inferiore nella catena di ereditarietà. |
downto |
Cicli: espressione for...to |
In un'espressione for , utilizzata durante il conteggio inverso. |
elif |
Espressioni condizionali: if...then...else |
Usato nella diramazione condizionale. Forma breve di else if . |
else |
Espressioni condizionali: if...then...else |
Usato nella diramazione condizionale. |
end |
Struct Unioni discriminate Record Estensioni di tipo Sintassi dettagliata |
Nelle definizioni dei tipi e nelle estensioni di tipo indica la fine di una sezione delle definizioni dei membri. Nella sintassi dettagliata, usata per specificare la fine di un blocco di codice che inizia con la begin parola chiave . |
exception |
Gestione delle eccezioni Tipi di eccezione |
Utilizzato per dichiarare un tipo di eccezione. |
extern |
Funzioni esterne | Indica che un elemento programma dichiarato è definito in un altro assembly o binario. |
false |
Tipi primitivi | Usato come valore letterale booleano. |
finally |
Eccezioni: espressione try...finally |
Usato insieme try a per introdurre un blocco di codice che viene eseguito indipendentemente dal fatto che si verifichi un'eccezione. |
fixed |
Fisso | Usato per "aggiungere" un puntatore nello stack per evitare che venga sottoposto a Garbage Collection. |
for |
Cicli: espressione for...to Espressione Loops: for...in |
Usato nei costrutti di ciclo. |
fun |
Espressioni lambda: parola fun chiave |
Usato nelle espressioni lambda, note anche come funzioni anonime. |
function |
Espressioni match Espressioni lambda: parola chiave fun |
Usato come alternativa più breve alla fun parola chiave e a un'espressione match in un'espressione lambda con criteri di ricerca per un singolo argomento. |
global |
Namespaces (Spazi dei nomi) | Usato per fare riferimento allo spazio dei nomi .NET di primo livello. |
if |
Espressioni condizionali: if...then...else |
Usato nei costrutti di diramazione condizionale. |
in |
Espressione Loops: for...in Sintassi dettagliata |
Usato per le espressioni di sequenza e, nella sintassi dettagliata, per separare le espressioni dalle associazioni. |
inherit |
Ereditarietà | Utilizzato per specificare una classe di base o un'interfaccia di base. |
inline |
Funzioni Funzioni inline |
Usato per indicare una funzione che deve essere integrata direttamente nel codice del chiamante. |
interface |
Interfacce | Usato per dichiarare e implementare le interfacce. |
internal |
Controllo dell’accesso | Consente di specificare che un membro è visibile all'interno di un assembly ma non all'esterno di esso. |
lazy |
Espressioni lazy | Consente di specificare un'espressione da eseguire solo quando è necessario un risultato. |
let |
let Associazioni |
Utilizzato per associare o associare un nome a un valore o a una funzione. |
let! |
Espressioni asincrone Espressioni di attività Espressioni di calcolo |
Usato nelle espressioni asincrone per associare un nome al risultato di un calcolo asincrono o, in altre espressioni di calcolo, usato per associare un nome a un risultato, che è del tipo di calcolo. |
match |
Espressioni match | Usato per creare un ramo confrontando un valore con un criterio. |
match! |
Espressioni di calcolo | Usato per inlineare una chiamata a un'espressione di calcolo e un criterio corrispondono al risultato. |
member |
Members | Utilizzato per dichiarare una proprietà o un metodo in un tipo di oggetto. |
module |
moduli | Usato per associare un nome a un gruppo di tipi, valori e funzioni correlati per separarlo logicamente da un altro codice. |
mutable |
Associazioni let | Usato per dichiarare una variabile, ovvero un valore che può essere modificato. |
namespace |
Namespaces (Spazi dei nomi) | Usato per associare un nome a un gruppo di tipi e moduli correlati, per separarlo logicamente da un altro codice. |
new |
Costruttori Vincoli |
Utilizzato per dichiarare, definire o richiamare un costruttore che crea o che può creare un oggetto . Usato anche nei vincoli di parametri generici per indicare che un tipo deve avere un determinato costruttore. |
not |
Riferimenti per simboli e operatori Vincoli |
Non in realtà una parola chiave. Tuttavia, not struct in combinazione viene usato come vincolo di parametro generico. |
null |
Valori Null Vincoli |
Indica l'assenza di un oggetto . Usato anche nei vincoli di parametro generici. |
of |
Unioni discriminate Delegati Tipi di eccezione |
Usato nelle unioni discriminate per indicare il tipo di categorie di valori e nelle dichiarazioni di delega ed eccezione. |
open |
Dichiarazioni di importazione: parola chiave open |
Usato per rendere disponibile il contenuto di uno spazio dei nomi o di un modulo senza qualifica. |
or |
Riferimenti per simboli e operatori Vincoli |
Usato con condizioni booleane come operatore booleano or . Equivalente a ||.Usato anche nei vincoli membro. |
override |
Members | Usato per implementare una versione di un metodo astratto o virtuale diverso dalla versione di base. |
private |
Controllo dell’accesso | Limita l'accesso a un membro al codice nello stesso tipo o modulo. |
public |
Controllo dell’accesso | Consente l'accesso a un membro dall'esterno del tipo. |
rec |
Funzioni | Usato per indicare che una funzione è ricorsiva. |
return |
Espressioni di calcolo Espressioni asincrone Espressioni di attività |
Utilizzato per indicare un valore da fornire come risultato di un'espressione di calcolo. |
return! |
Espressioni di calcolo Espressioni asincrone Espressioni di attività |
Utilizzato per indicare un'espressione di calcolo che, quando valutata, fornisce il risultato dell'espressione di calcolo contenitore. |
select |
Espressioni di query | Usato nelle espressioni di query per specificare i campi o le colonne da estrarre. Si noti che si tratta di una parola chiave contestuale, il che significa che non è effettivamente una parola riservata e funge solo da parola chiave nel contesto appropriato. |
static |
Members | Consente di indicare un metodo o una proprietà che può essere chiamata senza un'istanza di un tipo o un membro valore condiviso tra tutte le istanze di un tipo. |
struct |
Struct Tuple Vincoli |
Utilizzato per dichiarare un tipo di struttura. Consente di specificare una tupla di struct. Usato anche nei vincoli di parametro generici. Usato per la compatibilità OCaml nelle definizioni dei moduli. |
then |
Espressioni condizionali: if...then...else Costruttori |
Usato nelle espressioni condizionali. Utilizzato anche per eseguire effetti collaterali dopo la costruzione di oggetti. |
to |
Cicli: espressione for...to |
Utilizzato nei for cicli per indicare un intervallo. |
true |
Tipi primitivi | Usato come valore letterale booleano. |
try |
Eccezioni: Il tentativo... con espressione Eccezioni: Il tentativo... finally Expression |
Usato per introdurre un blocco di codice che potrebbe generare un'eccezione. Usato insieme a with o finally . |
type |
Tipi F# Classi Record Struct Enumerazioni Unioni discriminate Abbreviazioni dei tipi Unità di misura |
Utilizzato per dichiarare una classe, un record, una struttura, un'unione discriminata, un tipo di enumerazione, un'unità di misura o un'abbreviazione del tipo. |
upcast |
Cast e conversioni | Utilizzato per eseguire la conversione in un tipo superiore nella catena di ereditarietà. |
use |
Gestione delle risorse: parola chiave use |
Usato invece di let per i valori che devono Dispose essere chiamati per liberare risorse. |
use! |
Espressioni di calcolo Espressioni asincrone Espressioni di attività |
Usato invece di in espressioni asincrone e altre espressioni di let! calcolo per i valori che devono Dispose essere chiamati per liberare risorse. |
val |
Campi espliciti: parola chiave val Firme Members |
Utilizzato in una firma per indicare un valore o in un tipo per dichiarare un membro, in situazioni limitate. |
void |
Tipi primitivi | Indica il tipo .NET void . Usato durante l'interoperabilità con altri linguaggi .NET. |
when |
Vincoli | Usato per le condizioni booleane (quando guardie) sulle corrispondenze dei criteri e per introdurre una clausola di vincolo per un parametro di tipo generico. |
while |
Cicli: espressione while...do |
Introduce un costrutto di ciclo. |
with |
Espressioni match Espressioni di oggetto Copiare e aggiornare espressioni di record Estensioni di tipo Eccezioni: espressione try...with |
Usato insieme alla match parola chiave nelle espressioni di ricerca di criteri. Usato anche nelle espressioni oggetto, nelle espressioni di oggetto, nelle espressioni di copia dei record e nelle estensioni dei tipi per introdurre definizioni dei membri e per introdurre gestori eccezioni. |
yield |
Elenchi, matrici, sequenze | Utilizzato in un'espressione di elenco, matrice o sequenza per produrre un valore per una sequenza. In genere può essere omesso, perché è implicito nella maggior parte delle situazioni. |
yield! |
Espressioni di calcolo Espressioni asincrone Espressioni di attività |
Utilizzato in un'espressione di calcolo per accodare il risultato di una determinata espressione di calcolo a una raccolta di risultati per l'espressione di calcolo contenitore. |
const |
Provider di tipi | Provider di tipi consente l'uso di const come parola chiave per specificare un valore letterale costante come argomento di parametro di tipo. |
I token seguenti sono riservati in F# perché sono parole chiave nel linguaggio OCaml:
asr
land
lor
lsl
lsr
lxor
mod
sig
Se si usa l'opzione del --mlcompatibility
compilatore, le parole chiave precedenti sono disponibili per l'uso come identificatori.
I token seguenti sono riservati come parole chiave per l'espansione futura di F#:
break
checked
component
const
constraint
continue
event
external
include
mixin
parallel
process
protected
pure
sealed
tailcall
trait
virtual
I token seguenti sono stati riservati come parole chiave, ma sono stati rilasciati in F# 4.1, quindi ora è possibile usarli come identificatori:
Parola chiave | Motivo |
---|---|
method |
Usare member per introdurre metodi. |
constructor |
Usare new per introdurre costruttori. |
atomic |
Correlato alla dissolvenza per la memoria transazionale circa il 2006. Si tratta ora di un'espressione di calcolo definita dalla libreria. |
eager |
Non è più necessario; inizialmente è stato progettato per corrispondere let eager a un potenziale let lazy . |
object |
Non c'è bisogno di riservarlo. |
recursive |
Usare rec . |
functor |
Se F# ha aggiunto moduli con parametri, si userà module M(args) = ... . |
measure |
L'attributo [<Measure>] è sufficiente. |
volatile |
L'attributo [<Volatile>] è sufficiente. |