public int ArrayStepSize;
public static void Main()
var xDimension = new Dimension()
{ArraySize = 2, ArrayStepSize = 10};
var yDimension = new Dimension()
{ArraySize = 3, ArrayStepSize = 20};
var LocationCount = xDimension.ArraySize * yDimension.ArraySize;
var measurementLocationX = new double[LocationCount];
var measurementLocationY = new double[LocationCount];
Console.WriteLine("one loop.................");
Console.WriteLine("-------------------------");
for (int index = 0; index < LocationCount; index++)
var LocationIndexX = index % xDimension.ArraySize;
var LocationIndexY = index / xDimension.ArraySize;
var TargetLocationX = targetLocationX + LocationIndexX * xDimension.ArrayStepSize;
var TargetLocationY = targetLocationY + LocationIndexY * yDimension.ArrayStepSize;
measurementLocationX[LocationIndexX] = TargetLocationX + fieldLocationX;
measurementLocationY[LocationIndexY] = TargetLocationY + fieldLocationY;
Console.WriteLine($"({LocationIndexX},{LocationIndexY}) = ({measurementLocationX[LocationIndexX]}, {measurementLocationY[LocationIndexY]})");
Console.WriteLine("Two loops.................");
Console.WriteLine("-------------------------");
for (int yIndex = 0; yIndex < yDimension.ArraySize; yIndex++)
for (int xIndex = 0; xIndex < xDimension.ArraySize; xIndex++)
var TargetLocationX = targetLocationX + xIndex * xDimension.ArrayStepSize;
var TargetLocationY = targetLocationY + yIndex * yDimension.ArrayStepSize;
measurementLocationX[xIndex] = TargetLocationX + fieldLocationX;
measurementLocationY[yIndex] = TargetLocationY + fieldLocationY;
Console.WriteLine($"({xIndex},{yIndex}) = ({measurementLocationX[xIndex]}, {measurementLocationY[yIndex]})");