Sdílet prostřednictvím


Typy F#

Toto téma popisuje typy, které jsou používány v F# a jak byly pojmenovány a popsané typy F#.

Souhrn typů F#

Některé typy jsou považovány za primitivní typy, jako je například typ Boolean bool a tvoří nedílnou a plovoucí bod typů různých velikostí, které zahrnují typy znaků a bajtů.Tyto typy jsou popsány v Primitivní typy (F#).

Jiné typy, které jsou integrovány do jazyka patří n-tic, seznamy, pole a sekvencí, záznamy a discriminated unií.Pokud máte zkušenosti s jinými.NET jazyků a jsou učení F# byste si měli přečíst témata pro každý z těchto typů.Další informace o těchto typech jsou součástí Příbuzná témata části tohoto tématu.Tyto F#-specifické typy podporují styly programování, které jsou společné pro funkční programovací jazyky.Mnoho z těchto typů mají přidružené moduly knihovny F#, které podporují běžné operace na tyto typy.

Typ funkce obsahuje informace o typy parametrů a vracet typ.

.NET Framework Je zdrojem typy objektů, typy rozhraní, typů delegátů a ostatní.Můžete definovat vlastní typy objektů, stejně jako v jakékoli jiné.NET jazyk.

F# kód můžete také definovat aliasů, které jsou pojmenovány typ zkratky, který jsou alternativní názvy typů.Typ zkratky můžete použít při může v budoucnu změnit typ a chcete se vyhnout změně kódu, který závisí na typu.Nebo můžete použít zkratku typ jako popisný název pro typ, který můžete usnadnit kód číst a porozumět.

F# poskytuje užitečné kolekce typů, které jsou navrženy s funkční programování v úvahu.Pomocí těchto typů kolekce umožňuje napsat kód, který je ve stylu více funkcí.Další informace naleznete v tématu Typy kolekcí F#.

Syntaxe pro typy

V F# kódu často musíte zapsat názvy typů.Každý typ má syntaktické formuláře a použít tyto syntaktické formuláře anotace type, abstraktní metoda prohlášení, Deklarace delegátů, podpisy a ostatní konstrukce.Kdykoli prohlásit nový program konstruktu v interpretem interpretem vytiskne název konstruktu a syntaxi pro jeho typu.Tato syntaxe může být pouze identifikátor pro typ definovaný uživatelem nebo předdefinovaný identifikátor například pro int nebo string, ale pro složitější typy syntaxe je složitější.

Následující tabulka obsahuje aspekty typ syntaxe pro typy F#.

Type

Syntaxi typu

Příklady

Základní typ

type-name

int

float

string

agregační typ (třída, struktura, unie, záznam, výčet a podobně)

type-name

System.DateTime

Color

Zadejte zkratku.

type-abbreviation-name

bigint

Úplný typu

namespaces.type-name

nebo

modules.type-name

nebo

namespaces.modules.type-name

System.IO.StreamWriter

matice

type-name[] nebo

type-namematice

int[]

array<int>

int array

dvojrozměrné

type-name[,]

int[,]

float[,]

trojrozměrné

type-name[,,]

float[,,]

n-tice.

type-name1 * type-name2 ...

Například (1,'b',3) typint * char * int

obecný typ

type-parametergeneric-type-name

nebo

generic-type-name<type-parameter-list>

'a list

list<'a>

Dictionary<'key, 'value>

vyrobeno typu (obecný typ, který má určitý typ argumentu dodávané)

type-argumentgeneric-type-name

nebo

generic-type-name<type-argument-list>

int option

string list

int ref

option<int>

list<string>

ref<int>

Dictionary<int, string>

typ funkce, která má jeden parametr.

parameter-type1-> return-type

Funkce, která trvá int a vrátí string typint -> string

typ funkce, která má více parametrů

parameter-type1-> parameter-type2-> ...-> return-type

Funkce, která trvá int a float a vrátí string typint -> float -> string

vyšší pořadí funkci jako parametr

(function-type)

List.mapTyp('a -> 'b) -> 'a list -> 'b list

Delegát

Delegátfunction-type

delegate of unit -> int

flexibilní typu

#type-name

#System.Windows.Forms.Control

#seq<int>

Příbuzná témata

Téma

Description

Primitivní typy (F#)

Popisuje předdefinované typy jednoduché jako integrální typy, typu Boolean a typy znaků.

Typ jednotky (F#)

Popisuje unit typu, typ, který má jednu hodnotu a je označen (); equivalent to void in C# and Nothing in Visual Basic.

N-tice (F#)

Popisuje typ n-tice, typ, který se skládá z přidružené hodnoty typu zařazena do dvojice, triples, quadruples a tak dále.

Možnosti (F#)

Popisuje typ možnosti typ, který může mít hodnotu nebo prázdný.

Seznamy (F#)

Popisuje seznamy, které jsou objednané, neměnná řadu prvků stejného typu.

Pole (F#)

Popisuje pole, které jsou objednány sad proměnlivých prvků stejného typu, které zaujímají souvislý blok paměti a mají pevnou velikost.

Sekvence (F#)

Popisuje typ posloupnosti, který představuje logické řady hodnot; jednotlivé hodnoty jsou vypočítány podle potřeby.

Záznamy (F#)

Popisuje typ záznamu malého úhrn pojmenované hodnoty.

Rozlišovaná sjednocení (F#)

Popisuje discriminated unie typ typu, jehož hodnoty mohou být některou sadu možných typů.

Funkce (F#)

Popisuje funkce hodnoty.

Třídy (F#)

Popisuje typ třídy typu objektu, který odpovídá.Typ odkazu NET.Typy tříd mohou obsahovat základní typ členy, vlastnosti a implementovaná rozhraní.

Struktury (F#)

Popisuje struct typu, typ objektu, který odpovídá.ČISTÁ hodnota typu.struct Typu obvykle představuje malé souhrnných údajů.

Rozhraní (F#)

Popisuje typy rozhraní, které jsou typy, které představují sadu členů, které poskytují určité funkce, ale která neobsahují žádná data.Typ rozhraní musí provádí užitečné typ objektu.

Delegáti (F#)

Popisuje typ delegáta, který představuje funkce jako objekt.

Výčty (F#)

Popisuje typy výčet, jehož hodnoty patří do sady pojmenovaných hodnot.

Atributy (F#)

Popisuje atributy, které slouží k zadání metadat pro jiného typu.

Typy výjimek (F#)

Popisuje výjimky, které určují informace o chybě.