本文概述
转换是将值的类型转换为其他所需类型的过程。它可以是原始类型或对象类型。
F#允许强制转换和转换基本类型和对象类型。
F#转换示例
let x : int = 44 // integer value
let y : byte = byte x // conversion integer to byte
printfn "y = %d" y // byte value
let z : int = int y // conversion byte into integer
printf "z = %d" z // integer value
输出:
y = 44
z = 44
F#类型转换(向上转换和向下转换)示例
F#允许我们使用:>运算符将一种类型的对象转换为另一种类型。该运算符用于向上转换对象。我们可以使用:?>运算符向下转换对象。我们在以下程序中使用了这些运算符。让我们来看一个例子。
type BaseClass() =
class
member this.ShowClassName()=
printfn "BaseClass"
end
type DerivedClass() =
class
inherit BaseClass()
member this.ShowClassName()=
printfn "DerivedClass"
end
let baseClass = new BaseClass()
let derivedClass : DerivedClass = new DerivedClass()
baseClass.ShowClassName()
derivedClass.ShowClassName()
let castIntoBaseClass = derivedClass :> BaseClass // upcasting
castIntoBaseClass.ShowClassName()
let castIntoDerivedClass = baseClass :?> DerivedClass // downcasting
castIntoDerivedClass.ShowClassName()
输出:
BaseClass
DerivedClass
BaseClass
评论前必须登录!
注册