在 C# 中声明锯齿状数组

Declaring a jagged array in C#

我有以下格式的数据:

{{{0}},{{1}},{{2,3}},{{1,2},{3,4}},{{5,6},{7,8},{9,10}},.... 有没有办法将其存储在锯齿状数组中?数据很大,我想直接包含在代码中。我搜索了互联网,它说我可以通过以下方式声明它:

{ new int[][] { new int[] {0} }, new int[][] { new int[] {1} }, 
    new int[][] { new int[] {2,3} }, new int[][] {new int[] {1,2} ,new int[] {3,4} } , ...

但是输入那些新的 int[][] 会太耗时,我正在寻找一种方法可以将原始数据直接用于代码中。 有没有办法做到这一点? 如有任何建议,我们将不胜感激!

Jagged Arrays (C# Programming Guide) 开始,我认为您可以混合使用锯齿状数组和多维数组来简化操作。

        int[][,] test = new int[][,] {
            new int[,] { { 0 } },
            new int[,] { { 1 } },
            new int[,] { { 2, 3 } },
            new int[,] { { 1, 2 }, { 3, 4 } }
        };

鉴于您的主要 objective 是将现有数据作为初始化的 C# 交错数组合并到您的代码中,我建议如下:

  1. 粘贴现有数据。
  2. 搜索 { 并将其替换为 new [] {,第一次出现的除外。
  3. 分配给类型为 int[][][] 的变量(如果超过三个级别,则添加额外的 [])。

为了便于阅读而格式化,结果应该是一个有效的 c# 语句,如下所示:

int[][][] x =
{
    new[] {
        new[] {0}
    },
    new[] {
        new[] {1}
    },
    new[] {
        new[] {2,3},
        new[] {2,3}
    }
};