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-parametergeneric-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-argumentgeneric-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 |
---|---|
İntegral türleri, Boolean türü ve karakter türleri gibi yerleşik basit türleri açıklanmaktadır. |
|
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. |
|
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çenek türü, bir değere sahip veya boş bir türünü açıklar. |
|
Sipariş edilen, Immutable dizi öğeleri listelerini açıklar tümü aynı türde. |
|
Diziler sabit boyutlu bir ardışık bellek bloğuna kaplar ve kesilebilir aynı türdeki öğeleri kümesi sipariş açıklar. |
|
Mantıksal bir değer dizisini gösterir sıra türü açıklar; tek tek değerleri yalnızca gerektiğinde hesaplanır. |
|
Küçük bir toplama adlandırılmış değerleri kayıt türünü açıklar. |
|
Discriminated birleşim türü değerleri olası türler kümesini herhangi biri olabilir türü açıklanmaktadır. |
|
İşlevi değerleri açıklanmaktadır. |
|
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. |
|
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. |
|
Ü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. |
|
Temsil eden bir nesne olarak bir işlev temsilci türü açıklanmaktadır. |
|
Değerleri adlandırılmış değerleri kümesine ait numaralandırma türleri açıklanmaktadır. |
|
Başka bir türü için meta verileri belirtmek için kullanılan özniteliklerini açıklar. |
|
Hata bilgileri belirtmek özel durumlar açıklanır. |