代码之家  ›  专栏  ›  技术社区  ›  matekus

f-将交错数组转换为array2d

  •  3
  • matekus  · 技术社区  · 6 年前

    @scrwtp提供了一个非常有用的功能( toJagged ):

    let toJagged<'a> (arr: 'a[,]) : 'a [][] = 
        [| for x in 0 .. Array2D.length1 arr - 1 do
               yield [| for y in 0 .. Array2D.length2 arr - 1 -> arr.[x, y] |]
        |]
    

    它从二维数组转换为锯齿状数组。有等效功能吗( Toarray2d公司 )用于从交错数组转换为二维数组(假设交错数组中的每一行具有相同数量的元素)?

    1 回复  |  直到 6 年前
        1
  •  6
  •   Tomas Petricek    6 年前

    有一个内置功能 array2D 就是这样:

    array2D 
      [| [| 1; 2 |]
         [| 3; 4 |] |]
    

    这个 阵列2d 函数具有类型 seq<#seq<'T>> -> 'T[,] 因此,它更为通用——它可以将任何值序列转换为二维数组,但由于是交错数组 一系列的序列,这就是你所需要的。请注意,如果嵌套数组的长度不同,则会引发此问题。