Maybe I missed something here, but let me say that you have two arrays representing your rows and columns, respectively, and assuming that it is symmetrical (as you say):
int dimension = rows.Length; for(int i=0; i<dimension; i++) { int j = (dimension-1) - i;
This solution has the advantage of performing at run time only to repeat one cycle, not two.
source share