首页 > 解决方案 > 如何将项目添加到锯齿状数组?

问题描述

我有一个类型为锯齿状的数组long[][]

这可能很简单,但我似乎无法弄清楚如何将值添加到数组的末尾。

我之前是否需要调整它的大小以及如何实际添加项目?

标签: c#

解决方案


锯齿状数组基本上是一个数组数组。您需要调整要添加元素的数组的大小:

var array = new long[][]
{
    new long[]{1},
    new long[]{2,3}
};

// change existing element
array[1][0]=0;

// add row & fill it
Array.Resize(ref array, 3);
Array.Resize(ref array[2], 1);
array[2][0]=5;

// resize existing row

Array.Resize(ref array[1], 3);
array[1][2]=6;

当然:如果您经常需要调整数组的大小,则最好使用 aList<List<T>或 a Dict<long, List<long>>,除非有特定原因需要使用数组(但即使那样总是有.ToArray())。使用锯齿状数组并调整其大小的一个用例是具有许多元素的数组中的访问性能。


推荐阅读