我是一名新手,对该页面和编程都很陌生。
让我提出我的问题。
我有一个数组,比如说
1 2 3
4 5 6
7 8 9
3 2 1
我想做的是计算每行所有元素之间的差异。
{Math.Abs(1-2)=1
Math.Abs (2-3)=1
Math.Abs (1-3)=2}
首先,我想计算第一行的平均值。接下来,我想找到每行的平均值(例如,第一行的平均值为(1+1+2)/3),最后选择平均值最小的那一行。
有没有更有效的方法呢?(我在考虑使用 LINQ,但不知道如何正确使用它)。如果有任何帮助,将不胜感激。提前谢谢!!!
编辑: 感谢大家的答案……它们非常有用,并帮助我理解了如何处理我的问题。我看到你们大多数人建议使用列表(List)。这就为我带来了另一个问题(我只有一点编程知识):如何将 int[,] 数组转换为 List?这是可能的吗?应该先将 int[,] 转换为 int[][],然后再转换为 List 吗? 再次感谢您的答案和时间。
我创建了以下函数来将 2d 数组转换为 List…但似乎它不能正常工作。如果能得到任何帮助,将不胜感激。
public static List<int[]> GetMyNumbers(int[,] result)
{
int[,] res = result;
int length = res.GetUpperBound(0) + 1;
int width = res.GetUpperBound(1) + 1;
int[] rows = new int[width];
List<int[]> numberArrays = new List<int[]>();
for (int i = 0; i < result.Length / width; i++)
{
for (int k = 0; k < width; k++)
{
rows[k] = res[i, k];
Console.Write(rows[k]);
}
Console.WriteLine();
numberArrays.Add(rows);//this doesn't fill the list properly..It adds to all list items the last row of the 2d array
}
return numberArrays;
}