Implementación de array con índices negativos.

Estoy haciendo un juego con un mundo que se extiende infinitamente en todas direcciones. Esto significa que puedes estar en posiciónX:50, Y:50 oX:-50, Y:-50. Pero ... realmente no puedo hacer eso con una lista normal de C # ...

Todas las ideas que se me han ocurrido parecen ser demasiado complicadas / ineficientes para trabajar ...