If you do not have TON (yes, TON bit ...) cells, you can use dictionaries. Combine this with System.Drawing.Point as the key and you will get a good deal:
Dictionary<Point,YourGridObject> myMap = new Dictionary<Point,YourGridObject>();
Edit: in addition to the dictionary, each cell can have a link to neighboring cells, so you can use the dictionary to directly jump somewhere, but then navigate with the adjacent one. I used this method to implement the A * search algorithm in a hexadecimal grid.
Edit 2: For example, if you want to access a specific coordinate, you can simply
var myTile = myMap[new Point(25, -25)];
Then you want to get the East fragment, you can
var eastTile = myTile.East;
Your mesh object can also implement the offset method so that you can get the West 2, North 5 plate on
var otherTile = myTile.Offset(-2, 5);
Tipx
source share