C#多维数组迭代

时间:2020-07-20 10:01:04

标签: c# arrays

我有一个像这样的多维string数组:

示例数据:

{{20.07.2020 06:00, 20.07.2020 07:00, 150},{20.07.2020 07:00, 20.07.2020 08:00, 130}, {20.07.2020 08:00, 20.07.2020 09:00, 15}, {20.07.2020 09:00, 20.07.2020 10:00, 180}, {20.07.2020 10:00, 20.07.2020 11:00, 100}} etc.

,需要验证数组的值部分(内部数组的第三项):

1. if value is empty, replace it with 0 and extract this array into a new ZeroArray ( which will contain all the arrays with empty values)
2. if value(i) is greater or smaller than value(i+1) for 50% or more, extract this array into a new ExtremeArray(which will contain all the arrays with extreme values)
3. get the sum of all values in array of arrays

任何人都可以帮助我如何使用多维数组并获得所需的结果吗? 谢谢大家。

1 个答案:

答案 0 :(得分:1)

由于您只要求一个提示(这听起来像是一个作业问题,可疑...)我认为一个很好的提示是您将不得不使用两个计数器。一个用于遍历数组的第一部分,然后用于遍历内部数组。这些计数器将被嵌套。本质上,您遇到类似以下问题:

Count from 0 to 5.
But each time you increment a number, count from 20 to 25.

所以您会做类似的事情:

for (var outerCount = 0; outerCount <= 5; outerCount++)
{
  Console.WriteLine($"Counting {outerCount}");

  for (var innerCount = 20; innerCount <= 25; innerCount++)
  {
    Console.WriteLine($"\tCounting {innerCount}");
  }
}

输出

Counting 0
    Counting 20
    Counting 21
    Counting 22
    Counting 23
    Counting 24
    Counting 25
Counting 1
    Counting 20
    Counting 21
    Counting 22
    Counting 23
    Counting 24
    Counting 25
Counting 2
    Counting 20
    Counting 21
    Counting 22
    Counting 23
    Counting 24
    Counting 25
Counting 3
    Counting 20
    Counting 21
    Counting 22
    Counting 23
    Counting 24
    Counting 25
Counting 4
    Counting 20
    Counting 21
    Counting 22
    Counting 23
    Counting 24
    Counting 25
Counting 5
    Counting 20
    Counting 21
    Counting 22
    Counting 23
    Counting 24
    Counting 25