在C#中声明锯齿状数组

时间:2016-04-01 23:04:08

标签: c# jagged-arrays

我有以下格式的数据:

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

int[][]

但输入新的KEY OUTAGE TIME POWER LINE ID 1 1/1 2:30 pm 75 2 1/5 4:00 pm 247 3 1/5 6:00 pm 247 4 1/3 8:00 am 11 会耗费太多时间,我正在寻找一种可以将原始数据直接用于代码的方法。 有没有办法做到这一点? 任何建议将不胜感激!

2 个答案:

答案 0 :(得分:1)

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 } }
        };

答案 1 :(得分:1)

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

  1. 粘贴现有数据。
  2. 使用{搜索并替换new [] {,但第一次出现的情况除外。
  3. 分配给类型为int[][][]的变量(如果超过三个级别,则添加额外的[])。
  4. 为便于阅读而格式化,结果应该是有效的c#语句,如下所示:

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