Yeah, I would use the loop in a loop solution unless there is a way with Array.Copy. I'm not sure that Array.Copy works for 2D arrays, but it's really fast.