Typy F#
W tym temacie opisano typy, które są używane w F# i jak o nazwie i opisano typy F#.
Podsumowanie typów F#
Niektóre typy są uważane za typów pierwotnych, takie jak typ Boolean bool i typy punktów integralną i pływających o różnych rozmiarach, które obejmują typy bajtów, a znaki.Te typy są opisane w Typy pierwotne (F#).
Inne typy, które są wbudowane w język obejmują krotek, listy, tablice, sekwencji, rekordy i izolowanie związków.Jeśli masz doświadczenie z innymi.NET języków i są nauki F#, należy przeczytać tematy dla każdego z tych typów.Łącza do informacji na temat tych typów są zawarte w Tematy pokrewne części tego tematu.Te F#-określone typy obsługi stylów programowania, które są wspólne dla funkcjonalności języków programowania.Skojarzono wiele z tych typów modułów w bibliotece F# obsługujących typowych operacji dotyczących tych typów.
Typ funkcji zawiera informacje o typach parametru i zwraca typ.
.NET Framework Jest źródłem typy obiektów, typy interfejsów, typów delegatów i inne.Można zdefiniować własne typy obiektów, tak jak w jakimkolwiek innym.Język netto.
Ponadto F# kodu można zdefiniować aliasów, które są nazwane skróty typu, które są alternatywne nazwy typów.Typ skróty można korzystać przy typu mogą ulec zmianie w przyszłości i chcesz uniknąć zmiany kodu, który zależy od typu.Lub skrót typu może używać jako przyjazną nazwę dla typu, który może ułatwić kod przeczytać i zrozumieć.
F# zawiera typy kolekcji użyteczne, zaprojektowane z programowaniem funkcjonalności pamiętać.Używanie tych typów kolekcji ułatwia napisanie kodu, który jest bardziej funkcjonalne w stylu.Aby uzyskać więcej informacji, zobacz Typy kolekcji F#.
Składnia dla typów
F# kodu często mają zapisywania nazwy typów.Każdy rodzaj ma formę składni i używać tych formularzy syntaktyczne typu adnotacje, metoda abstrakcyjna deklaracje, deklaracje delegatów, podpisów i inne konstrukcje.Przy każdym deklarowaniu nowej konstrukcji program interpreter tłumacza Drukuje nazwę konstrukcji i składnia dla jego typu.Ta składnia może być tylko identyfikator typu zdefiniowane przez użytkownika lub wbudowany identyfikator jak w przypadku int lub string, ale w przypadku bardziej złożonych typów składnia jest bardziej złożone.
W poniższej tabeli przedstawiono aspektów Składnia typu F# typów.
Typ |
Składnia typu |
Przykłady |
---|---|---|
typ pierwotny |
type-name |
int float string |
Typ agregacji (klasy, struktury, Unii, rekord, enum itd) |
type-name |
System.DateTime Color |
Skrót typu |
type-abbreviation-name |
bigint |
Typ w pełni kwalifikowana |
namespaces.type-name lub modules.type-name lub namespaces.modules.type-name |
System.IO.StreamWriter |
Tablica |
type-name[] lub type-nameTablica |
int[] array<int> int array |
dwuwymiarowej tablicy |
type-name[,] |
int[,] float[,] |
tablicą trójwymiarową |
type-name[,,] |
float[,,] |
spoiny |
type-name1 * type-name2 ... |
Na przykład (1,'b',3) ma typint * char * int |
typ rodzajowy |
type-parametergeneric-type-name lub generic-type-name<type-parameter-list> |
'a list list<'a> Dictionary<'key, 'value> |
skonstruowane typu (rodzajowy typ argumentu określonego typu, dostarczone) |
type-argumentgeneric-type-name lub generic-type-name<type-argument-list> |
int option string list int ref option<int> list<string> ref<int> Dictionary<int, string> |
Typ funkcji, która ma jeden parametr |
parameter-type1-> return-type |
Funkcja, która ma int i zwraca string ma typint -> string |
Typ funkcji, która ma wiele parametrów |
parameter-type1-> parameter-type2-> ...-> return-type |
Funkcja, która ma int i float i zwraca string ma typint -> float -> string |
wyższe funkcji zamówienie jako parametr |
(function-type) |
List.mapma typ('a -> 'b) -> 'a list -> 'b list |
Pełnomocnik |
Delegatfunction-type |
delegate of unit -> int |
Typ elastyczne |
#type-name |
#System.Windows.Forms.Control #seq<int> |
Tematy pokrewne
Temat |
Opis |
---|---|
Zawiera opis wbudowanych typów prostych, takich jak typy, typu Boolean i typy znaków. |
|
W tym artykule opisano unit typu, typu, który ma wartość jeden i podana przez (;) equivalent to void in C# and Nothing in Visual Basic. |
|
Opisuje typ spoiny, typ, który składa się z skojarzonych z nim wartości dowolnego typu zgrupowane w pary, triples, quadruples i tak dalej. |
|
Opisuje typ opcji typu, który może mieć wartość albo może być pusta. |
|
Zawiera opis list, które zostały zamówione, niezmienne serii elementów wszystkie tego typu. |
|
W tym artykule opisano tablice, które są uporządkowane zestawy tych elementów tego samego typu, które zajmują ciągłego bloku pamięci i mają stały rozmiar. |
|
Opisuje typ sekwencji, który reprezentuje logiczną serii wartości; poszczególne wartości są obliczane tylko w razie potrzeby. |
|
Opisuje typ rekordu, małych suma nazwane wartości. |
|
W tym artykule opisano dyskryminowanych typu Unii, typ, którego wartości może być dowolny zestaw możliwych typów. |
|
Zawiera opis wartości funkcji. |
|
Opisuje typ klasy, typ obiektu, który odpowiada.Typ odwołania netto.Typy klas mogą zawierać członków, właściwości, implementowane interfejsy i typu podstawowego. |
|
W tym artykule opisano struct typu, typu obiektu, który odpowiada.Typ wartości netto.struct Typu zazwyczaj reprezentuje małych agregacji danych. |
|
Opisuje typy interfejsów, które są typy, które stanowią zestaw elementów członkowskich, niektóre funkcje, które zapewniają, ale które nie zawierają żadnych danych.Typ interfejsu muszą być zaimplementowane przez typ obiektu użyteczne. |
|
Opisuje typ delegata, który reprezentuje funkcji jako obiekt. |
|
Opisuje typy wyliczenia, którego wartości należą do zbioru nazwanych wartości. |
|
Opisuje atrybuty, które są używane do określenia metadanych dla innego typu. |
|
W tym artykule opisano wyjątków, które określają informacje o błędzie. |