private static int[] GetArrayDimentionalIndex(long linInd, int[] dims) { var result = new int[dims.Length]; int d = (int)linInd; for (int n = dims.Length - 1; n > 0; n--) { result[n] = d % dims[n]; d = (d - result[n]) / dims[n]; } result[0] = d; return result; }