![]() |
1
12
F有各种类型。标准.NET类型(也存在于C中),例如 班 , 接口 和 代表 直接映射到相应的CLR表示。
您还可以定义
值类型
使用
其余的f类型是特定于f_的,在clr中没有任何标准表示。F编译器将它们编码为一个类(或多个类)。
如果你想了解更多,你可以看看 Adventures in F# series 作者:Jomo Fisher。 |
![]() |
2
3
ECMA 335(cli),§8.5.2被称为: 值类型和引用类型 它们不是C(唯一)概念。 |
![]() |
3
2
值和引用类型来自.NET,而不是C。不是F方面的专家,但我必须相信它们的类型是相同的,因为它是一流的.NET语言,并且吹捧与C的互操作性。
此外,引用类型可以是不可变的(例如字符串),值类型可以是可变的
编辑:根据注释更正。 |
![]() |
4
1
您在f中也有接口、类和结构-这些映射与其他clr语言(如c)的预期一致,因此出于接口目的,您应该将自己限制为这些类型。 至于受歧视的联合和记录,映射就更复杂了,如果不一定非得这么做,就不必这么做。 |