Are you aware that C# supports true multidimensional arrays rather than just jagged arrays (arrays of arrays)? Maybe it's just me, but I would find it a lot more convenient to use layer.Tiles[x, y] instead of layer.Tiles[y][x]. If you would rather keep things as they are now, that's fine.