我在C#中声明了一个数组:
object[] objects = { "myString", 12, 2.06, null, "otherString" };
现在我想在F#中声明一个类似的数组,所以我尝试:
let objects = ["myString"; 12; 2.06; null; "otherString"]
但是这给了我编译错误:
“这个表达式应该有类型字符串,但这里有类型int”
和
“此表达式应具有类型字符串,但此处具有类型float”
表示值12和2.06。
我应如何继续在F#中创建类似的数组?
答案 0 :(得分:3)
在您的代码中,您要声明一个列表:
let objects : obj list = ["myString"; 12; 2.06; null; "otherString"]
数组将是:
let objects : obj[] = [|"myString"; 12; 2.06; null; "otherString"|]
只需向其中任何一个添加类型注释:obj list
或: obj[]
,否则F#会从第一个元素中推断出类型。