【发布时间】:2011-08-12 13:16:14
【问题描述】:
我知道这是一个愚蠢的问题,为什么这个代码 minX 在计算上很昂贵,但我想,有人可能会告诉我我的错误。谢谢
// getMap is a 2 dimentional array of type short I need to find maxX,minX,maxY,minY
//Can't use Math.Min , as it will get the lower bound i.e 0, i want values after filtering
for (int X = 0; X < getMap.GetLength(0); X++)
{
for (int Y = 0; Y < getMap.GetLength(1); Y++)
{
if((short)getMap.GetValue(X,Y) != 0)
{
//if i take it out, it works fine ,I need to
if (minX > X )
minX = X;
else
X = minX;
// Prints some stuff and does other computation
}
}
}
// Draws image
【问题讨论】:
-
它的计算成本很高,因为它要遍历 2D 数组中的每个元素。你还在寻找什么?
-
为什么要更改内部循环内循环变量 X 的值?
-
这将有助于回答您的问题:在二维数组中写入值表。然后让我们知道您正在寻找的结果。只是作为一个初学者......
-
计算上的昂贵是“不会终止”的轻描淡写。
标签: c# .net performance multidimensional-array