F#强制转换和转换

本文概述

  • F#转换示例
  • F#类型转换(向上转换和向下转换)示例
转换是将值的类型转换为其他所需类型的过程。它可以是原始类型或对象类型。
F#允许强制转换和转换基本类型和对象类型。
F#转换示例
let x : int = 44// integer valuelet y : byte = byte x// conversion integer to byteprintfn "y = %d" y// byte valuelet z : int = int y// conversion byte into integerprintf "z = %d" z// integer value

输出:
y = 44z = 44

F#类型转换(向上转换和向下转换)示例F#允许我们使用:> 运算符将一种类型的对象转换为另一种类型。该运算符用于向上转换对象。我们可以使用:?> 运算符向下转换对象。我们在以下程序中使用了这些运算符。让我们来看一个例子。
type BaseClass() = classmember this.ShowClassName()=printfn "BaseClass" endtype DerivedClass() = classinherit BaseClass()member this.ShowClassName()=printfn "DerivedClass" endlet baseClass = new BaseClass()let derivedClass : DerivedClass = new DerivedClass()baseClass.ShowClassName()derivedClass.ShowClassName()let castIntoBaseClass = derivedClass :> BaseClass// upcasting castIntoBaseClass.ShowClassName()let castIntoDerivedClass = baseClass :?> DerivedClass// downcastingcastIntoDerivedClass.ShowClassName()

【F#强制转换和转换】输出:
BaseClassDerivedClassBaseClass

    推荐阅读