c# - 如何将项目添加到锯齿状数组?
问题描述
我有一个类型为锯齿状的数组long[][]
。
这可能很简单,但我似乎无法弄清楚如何将值添加到数组的末尾。
我之前是否需要调整它的大小以及如何实际添加项目?
解决方案
锯齿状数组基本上是一个数组数组。您需要调整要添加元素的数组的大小:
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()
)。使用锯齿状数组并调整其大小的一个用例是具有许多元素的数组中的访问性能。
推荐阅读
- r - 查找两个连续的非零数据之间的差距
- java - JavaFX:我应该将场景保存在内存中吗?
- android - Android:添加新文件时强制扫描 getContentResolver()
- python - 如何将 Pandas 中数据框的所有值(不仅仅是一列而不是整个数据集)从“y”转换为 1,将“n”转换为 0?
- python - 数据框列的 t 检验
- vue.js - 如何使用 Vue Router 重定向路由?
- twitter-bootstrap - 如何限制 Bootstrap 4 中 p 标签的宽度以使其更具可读性?
- regex - 删除标点符号(保留字母数字和 unicode)Java
- javascript - 如何要求至少选择一个复选框
- google-apps-script - 如何从 Apps 脚本库中调用 CreateMenu()?