5.4 泛型值
在本节中,我们将讨论有关泛型类型声明,你会看到在很多方面,F# 中的泛型类型类似于 C# 中的泛型类型。到目前为止,我们只看到一种类型声明——差别联合,用这种类型结构声明过。我们在后面将会看到其他类型声明,可以使用相同的结构来写(特别是,在第 7 和 9 章),但使之泛型的语法是与我们现在就要看到的语法完全相同。
不需要事先声明的类型,比如,元组,自然是泛型。我们可以使用类型的构造函数,有任何其他类型,比如, int * int,或 string * int。当创建元组时,我们可以使用值构造函数,有任何值,写成 (12,34),或 ("Pi",3.14)。在本节中,将学习如何使自己的类型构造函数也是泛型。我们首先看一下如何在 C# 中实现泛型选项类型。