我有一个代表三个区域的数组(区域是1,2,3行),每个数字代表该区域的商店利润。这是一个赋值,我需要使用多维或锯齿状数组;我意识到如果我制作三个独立的阵列会更容易。我无法弄清楚如何使用数据来平均每一行(区域)。
int[][] stores = {new int [] {2000,4000,3000,1500,4000},
new int [] {6000,7000,8000},
new int [] {9000,10000}};
答案 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());
答案 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");
}
此代码段的好处在于,您不依赖于了解多维数组中的数据。它将执行每行的平均计算,并相应地输出。