c# - C# GetLength 二维数组。指数数组的边界之外
问题描述
我想使用GetLength()
.
我读到 usingGetLength(0)
是第一个维度, usingGetLength(1)
是第二个维度。
但是,这对我不起作用并且正在抛出:System.IndexOutOfRangeException: 'Index was outside the bounds of the array.'
尝试访问第二维(使用 second for loop
)时。
下面是我正在使用的代码片段。
List<string> barDates = new List<string>();
List<string> barValues = new List<string>();
for (int i = 0; i < data.GetLength(0); i++)
{
MessageBox.Show(data[i][0] + " " + data[i][1]);
for (int x = 2; x < data.GetLength(1) - 2; x++)
{
int value = 0;
value = value + Int32.Parse(data[i][x]);
barValues.Add(value.ToString());
}
barDates.Add(data[i][1]);
}
barValues.ToArray();
barDates.ToArray();
这是data
具有值的变量:https ://i.imgur.com/vqjeSgr.png
这样做的主要目标是读取一个.csv
包含 14 列的文件,第一个是企业名称,第二个是年份,第二个不需要for loop
。
请忽略MessageBox.Show(data[i][0] + " " + data[i][1]);
,因为我有这个只是为了查看是否正在处理正确的值。
行数是不断变化的,所以需要是动态的。
维度 2 中的所有数字将加在一起,然后添加到每行的数组中。
然后该数组将在条形图中使用。
解决方案
data[i][1]
这是一个锯齿状数组。data.GetLength(1)
将不起作用,因为数据没有第二维。改用这个:
data[i].Length
推荐阅读
- python-3.x - 使用 Databricks 将 txt 文件从 Azure 文件复制到 Blob 存储
- hibernate - Hibernate Restrictions.in 列表中的第一个结果不是数据库
- python - 有没有办法找到 Excel 列上定义的日期格式?
- ruby-on-rails - 在带有 Docker compose 的 Rails 中使用 Pry
- php - 进入 foreach 的主题
- notepad++ - Notepad ++将“\ n”之后的所有内容替换为空
- java - 如何仅在引用实体时才忽略 JSON?
- algorithm - 将 N 个元素的列表分解为大小为 S 的节点
- terraform - Terraform 创建一个 azure 密钥库
- python - 使用python在pcap文件中获取数据包类型的第一个和最后一个时间戳