我一直在谷歌搜索一段时间......好吧,对不起,这个很容易,但F#中有一个运算符比较类类型,比如C#中的'is'关键字?我不想使用完整的匹配声明或开始铸造东西。干杯
答案 0 :(得分:25)
您可以将:?
构造用作模式(在match
内)或作为运算符:
let foo = bar :? System.Random
这与C#中的行为略有不同,因为编译器仍尝试在编译时进行一些检查。例如,如果结果肯定是false
:
let bar = 42
let foo = bar :? System.Random // Error
我认为这不会导致混淆,但您可以随时添加box
将参数转换为obj
,可以针对任何类型进行测试:
let foo = box bar :? System.Random
答案 1 :(得分:6)
如果您想要一般的C#-to-F#快速参考,请参阅
回答了这个问题和许多其他问题。