Udostępnij za pośrednictwem


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

Typy pierwotne (F#)

Zawiera opis wbudowanych typów prostych, takich jak typy, typu Boolean i typy znaków.

Typ jednostki (F#)

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.

Krotki (F#)

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.

Opcje (F#)

Opisuje typ opcji typu, który może mieć wartość albo może być pusta.

Listy (F#)

Zawiera opis list, które zostały zamówione, niezmienne serii elementów wszystkie tego typu.

Tablice (F#)

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.

Sekwencje (F#)

Opisuje typ sekwencji, który reprezentuje logiczną serii wartości; poszczególne wartości są obliczane tylko w razie potrzeby.

Rekordy (F#)

Opisuje typ rekordu, małych suma nazwane wartości.

Sumy rozłączne (F#)

W tym artykule opisano dyskryminowanych typu Unii, typ, którego wartości może być dowolny zestaw możliwych typów.

Funkcje (F#)

Zawiera opis wartości funkcji.

Klasy (F#)

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.

Struktury (F#)

W tym artykule opisano struct typu, typu obiektu, który odpowiada.Typ wartości netto.struct Typu zazwyczaj reprezentuje małych agregacji danych.

Interfejsy (F#)

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.

Delegaty (F#)

Opisuje typ delegata, który reprezentuje funkcji jako obiekt.

Wyliczenia (F#)

Opisuje typy wyliczenia, którego wartości należą do zbioru nazwanych wartości.

Atrybuty (F#)

Opisuje atrybuty, które są używane do określenia metadanych dla innego typu.

Typy wyjątków (F#)

W tym artykule opisano wyjątków, które określają informacje o błędzie.