private int[,] maze = new int[MAZESIZE, MAZESIZE];
private int[,] tmp = new int[MAZESIZE, MAZESIZE];
대충 이런식으로 변수를 지정했고..
maze에 배열을 사용하여 0, 1 등의 값을 넣어
미로를 만든후에
tmp = maze; 를 하여 tmp에 복사하였습니다.
그리고 tmp 안에 값들로 미로를 탐색 하기위해 tmp[a,b]등등 을사용하여 배열을 for문을 돌려서 tmp 안의 내용을 바꾸었더니
maze안에 있는 값들도 바뀌더군요.. 이게 어떻게 된 일이지용?..
C#에서는 포인터의 개념을 레퍼런스로 대체하고 있기 때문인데요, 원하시는 결과를 얻으시려면
for문을 돌면서 tmp[a, b] = maze[a, b]; 이런식으로 값을 하나씩 대입시키면 될 것 같군요