如何使用我的数组的内容?

时间:2014-10-16 01:58:21

标签: c# multidimensional-array average

我有一个代表三个区域的数组(区域是1,2,3行),每个数字代表该区域的商店利润。这是一个赋值,我需要使用多维或锯齿状数组;我意识到如果我制作三个独立的阵列会更容易。我无法弄清楚如何使用数据来平均每一行(区域)。

int[][] stores = {new int [] {2000,4000,3000,1500,4000},
                  new int [] {6000,7000,8000},
                  new int [] {9000,10000}};

2 个答案:

答案 0 :(得分:2)

第一个索引是行..此时您正在访问基础数组。

因此,您的平均值可以完全基于第一个索引来计算。使用LINQ,看起来像这样:

int[][] stores = {new int [] {2000,4000,3000,1500,4000},
              new int [] {6000,7000,8000},
              new int [] {9000,10000}};

Console.WriteLine("Row 1 average: {0}", stores[0].Average());
Console.WriteLine("Row 2 average: {0}", stores[1].Average());
Console.WriteLine("Row 3 average: {0}", stores[2].Average());

工作样本:http://ideone.com/3GQFm3

答案 1 :(得分:0)

另一种选择是使用这样的foreach循环:

int[][] stores = {new int [] {2000,4000,3000,1500,4000},
          new int [] {6000,7000,8000},
          new int [] {9000,10000}};

foreach (var row in stores)
{
    int average = 0;

    foreach (var item in row)
    {
        average += item;
    }

    average /= row.Length;

    Console.Write("This is your result: " + average + "\n");
}

此代码段的好处在于,您不依赖于了解多维数组中的数据。它将执行每行的平均计算,并相应地输出。