unity – How to Deep Copy a 2D Array in C#?

I’m trying to implement an Ai for a Boardgame. So i tried to do it with the MiniMax Algorithm. For this purpose i need to Clone or deep copy the Array that represents the Board. I tried this before:

copy = (Cell(,))mAllCells.Clone() as Cell(,);

But every Change in the Copy also appears in the Original one.