如何在 F# 中声明一个对象数组?

How to declare an array of objects in F#?

我在 C# 中声明了一个数组:

object[] objects = { "myString", 12, 2.06, null, "otherString" };

现在我想在 F# 中声明一个类似的数组,所以我尝试:

let objects = ["myString"; 12; 2.06; null; "otherString"]

但这给了我编译错误:

"This expression was expected to have type string but here has type int"

"This expression was expected to have type string but here has type float"

对于值 12 和 2.06。

我应该如何继续在 F# 中创建类似的数组?

在您的代码中声明了一个列表:

let objects : obj list = ["myString"; 12; 2.06; null; "otherString"]

数组将是:

let objects : obj[] = [|"myString"; 12; 2.06; null; "otherString"|]

只需向其中任何一个添加类型注释 :obj list: obj[],否则 F# 会从第一个元素推断出类型。