Arrays 如何将记录字段定义为f#中的数组?

Arrays 如何将记录字段定义为f#中的数组?,arrays,f#,record,Arrays,F#,Record,我想创建一个字节数组类型的记录字段,包含8个元素,但无法找到正确的语法 我做了这样的事情: let dataRecord = { id : int data : byte array } let dataValues : byte array = Array.zeroCreate 8 let myArray = { id = 0; data = dataValues } 可以在记录定义中完成吗?怎么做 我上面的例子似乎有效,但我不知道它是安全的还是最好或最正确的方法。您当

我想创建一个字节数组类型的记录字段,包含8个元素,但无法找到正确的语法

我做了这样的事情:

let dataRecord = {
    id : int
    data : byte array 
}

let dataValues : byte array = Array.zeroCreate 8

let myArray = { id = 0; data = dataValues }
可以在记录定义中完成吗?怎么做


我上面的例子似乎有效,但我不知道它是安全的还是最好或最正确的方法。

您当前所做的并没有错(除了您的类型定义使用的是
let
而不是
type
),所以我不完全清楚您的要求。也许是这样的

type dataRecord = {
    id : int
    data : byte array
}

let myRecord = { id = 0; data = [| for i in 1 .. 8 -> 0uy |] }
如果愿意,您也可以只使用
{id=0;data=Array.zeroCreate 8}
——数组文字通常更容易阅读,但是如果您创建大数组,则
zeroCreate
可能更有效。

我在代码中纠正了“let”这个错误,但在简化此示例时,我弄错了。:-)谢谢你的帮助!