Aracılığıyla paylaş


F# türleri

Bu konuda F# ve F# türleriyle nasıl adlı ve açıklanan kullanılan türleri açıklanmaktadır.

F# türlerinin özeti

Bazı türleri kabul temel türlerin, Boolean türü gibi bool ve bayt ve karakter türleri dahil çeşitli boyutlarda ayrılmaz ve kayan nokta türü. Bu tür açıklanan İlkel türler (F#).

Dilinde yerleşik diğer türleri dahil dizilerini, listeler, diziler, sıraları, kayıtları ve sendikalar discriminated. Diğer deneyimi varsa.net dilleri ve öğrenme F# olan konular bu türlerin her biri için okumalısınız. Bu türleri hakkında daha fazla bilgi için bağlantılar bulunmaktadır İlgili konular Bu konu bölümünde. Bu F#-belirli türleri işlevsel programlama dilleri için ortak olan stilleri programlama destekler. Bu tür ortak işlemlerini destekleyen modülleri F# kitaplığındaki çoğu bu tür ilişkili.

İşlev türü parametre türleri hakkında bilgi içerir ve dönüş türü.

.NET Framework Nesne türleri, arabirim türleri temsilci türleri ve diğerleri kaynağıdır. Herhangi bir diğer yapabildiğiniz gibi kendi nesne türleri tanımlayabilirsiniz.net dili.

Ayrıca, F# kod adlı diğer adlar tanımlayabilirsiniz türü kısaltma, türleri için alternatif adları şunlardır. Tür gelecekte değişebilir ve türüne bağlıdır kod değiştirmekten kaçının istediğiniz türü kısaltma kullanıyor olabilir. Ya da kod okumak ve anlamak daha kolay hale türü için bir kolay ad olarak türü kısaltma kullanabilirsiniz.

F# işlevsel programlama düşünülerek tasarlanmış kullanışlı koleksiyon türleri sağlar. Bu koleksiyon türleri kullanarak stili daha işlevsel kod yazmanıza yardımcı olur. Daha fazla bilgi için bkz. F# koleksiyon türleri.

Türleri için sözdizimi

F# kodu, genellikle türü adlarının yazmak zorunda değilsiniz. Her tür sözdizimi formu vardır ve bu tür ek açıklamaları, Özet yöntem bildirimleri, temsilci bildirimleri, imzalar ve diğer yapılar sözdizimi formları kullanın. Yeni bir program yapýsýný yorumlayıcı bildirmek her yorumlayıcı türü için yapı ve sözdizimi adını yazdırır. Bu sözdizimi yalnızca kullanıcı tanımlı türü için tanımlayıcı bir yerleşik tanımlayıcı gibi olabilir int veya string, ancak daha karmaşık türleri için sözdizimi daha karmaşıktır.

Aşağıdaki tabloda F# türleriyle türü sözdizimi yönlerini gösterir.

Tür

Type sözdizimi

Örnekler

temel türü

type-name

int

float

string

toplama türü (sınıf, yapı, Birliği, kayıt, enum vb.)

type-name

System.DateTime

Color

türü kısaltma

type-abbreviation-name

bigint

tam tür

namespaces.type-name

or

modules.type-name

or

namespaces.modules.type-name

System.IO.StreamWriter

dizi

type-name[] veya

type-namedizi

int[]

array<int>

int array

iki boyutlu bir dizi

type-name[,]

int[,]

float[,]

üç boyutlu dizi

type-name[,,]

float[,,]

Kayıt düzeni

type-name1 * type-name2 ...

Örneğin, (1,'b',3) türüint * char * int

Genel tür

type-parameter generic-type-name

or

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

'a list

list<'a>

Dictionary<'key, 'value>

tür (sağlanan belirli tür bağımsız değişkeni olan bir genel tür) oluşturulur.

type-argument generic-type-name

or

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

int option

string list

int ref

option<int>

list<string>

ref<int>

Dictionary<int, string>

tek bir parametreye sahiptir işlev türü

parameter-type1-> return-type

Geçen bir işlev bir int ve bir string türüint -> string

birden çok parametre olan işlev türü

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

Geçen bir işlev bir int ve bir float ve bir string türüint -> float -> string

parametre olarak yüksek sipariş işlevi

(function-type)

List.maptürü('a -> 'b) -> 'a list -> 'b list

temsilci seçme

temsilcisifunction-type

delegate of unit -> int

Esnek türü

#type-name

#System.Windows.Forms.Control

#seq<int>

İlgili Konular

Konu

Description

İlkel türler (F#)

İntegral türleri, Boolean türü ve karakter türleri gibi yerleşik basit türleri açıklanmaktadır.

Birim türü (F#)

Açıklar unit türü, bir değeri olan ve () tarafından; belirtilen türü equivalent to void in C# and Nothing in Visual Basic.

Dizilerini (F#)

Kayıt düzeni türünü ilişkili değerler herhangi bir tür çiftleri, triples, quadruples ve benzeri gruplandırılmış oluşan bir tür açıklar.

Seçenekler (F#)

Seçenek türü, bir değere sahip veya boş bir türünü açıklar.

Listeleri (F#)

Sipariş edilen, Immutable dizi öğeleri listelerini açıklar tümü aynı türde.

Diziler (F#)

Diziler sabit boyutlu bir ardışık bellek bloğuna kaplar ve kesilebilir aynı türdeki öğeleri kümesi sipariş açıklar.

Sıraları (F#)

Mantıksal bir değer dizisini gösterir sıra türü açıklar; tek tek değerleri yalnızca gerektiğinde hesaplanır.

Kayıtları (F#)

Küçük bir toplama adlandırılmış değerleri kayıt türünü açıklar.

Discriminated sendikalar (F#)

Discriminated birleşim türü değerleri olası türler kümesini herhangi biri olabilir türü açıklanmaktadır.

İşlevler (F#)

İşlevi değerleri açıklanmaktadır.

Sınıflar (F#)

Sınıf türü, karşılık gelen nesne türünü tanımlayan bir.net başvuru tipi. Sınıf türleri, üyeler, özellikleri, uygulanan arabirimleri ve taban türü içerebilir.

Yapıları (F#)

Açıklar struct türü, nesne türünü karşılık gelen bir.net değer türü. struct Türü genellikle küçük bir toplama verileri temsil eder.

Arabirimler (F#)

Üyeler, belirli işlevleri sağlar, ancak, veri içeren bir dizi temsil türleri arabirim türlerini açıklar. Yararlı bir nesne türü bir arabirim türüne uygulanmalıdır.

Temsilciler (F#)

Temsil eden bir nesne olarak bir işlev temsilci türü açıklanmaktadır.

Numaralandırma (F#)

Değerleri adlandırılmış değerleri kümesine ait numaralandırma türleri açıklanmaktadır.

Öznitelikler (F#)

Başka bir türü için meta verileri belirtmek için kullanılan özniteliklerini açıklar.

Özel durum türü (F#)

Hata bilgileri belirtmek özel durumlar açıklanır.