C# 如何在f#中将整数设置为null?
在C#中,我可以声明一个可为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
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。