C# 如何在f#中将整数设置为null?

C# 如何在f#中将整数设置为null?,c#,.net,f#,C#,.net,F#,在C#中,我可以声明一个可为null的类型,如下所示: int? myNullableInt; 我正在尝试进行一些互操作,需要在F#中声明并设置一个可为null的类型,因此我声明了一个类似这样的类: type TestEntity() = member val OptionalValue = Nullable(1) with get, set 稍后,我尝试这样分配它: let testEnt = TestEntity() testEnt.Optional <- null le

在C#中,我可以声明一个可为null的类型,如下所示:

int? myNullableInt;
我正在尝试进行一些互操作,需要在F#中声明并设置一个可为null的类型,因此我声明了一个类似这样的类:

type TestEntity() =
    member val OptionalValue = Nullable(1) with get, set
稍后,我尝试这样分配它:

let testEnt = TestEntity()
testEnt.Optional <- null
let testEnt=TestEntity()
testEnt.可选尝试以下方法:

testEnt.OptionalValue <- Nullable()

testEnt.OptionalValue我建议避免使用
null
值,比如F#中的瘟疫,您应该在C#边界使用
选项

您可以使用
Option.toNullable
选项转换

testEnt.Optional <- Option.toNullable None

testEnt.Optional <- Option.toNullable (Some 5)
您可以使用
Option.ofNullable
Nullable
转换

testEnt.Optional <- Option.toNullable None

testEnt.Optional <- Option.toNullable (Some 5)

testEnt.Optional?可能需要读取编译器错误:
类型“Nullable”没有将“null”作为正确的值。要为可空类型创建空值,请使用“System.Nullable()”。
Ok,那么F#Nullable与C#
int兼容?
then(只是为了100%清楚,哈哈)?在mscorelib中定义,并由C#和F#使用。@RodYan C#
int?
System.Nullable的同义词。它们是一样的。是的,我添加了一些内容来澄清<代码>整数?
=
System.nullabe
。你在F#中没有得到所有相同的语法,但行为是相同的。谢谢!我正在用AzureStorage API测试一些互操作功能,并尝试使用nullable。我更喜欢避免null。