Usually peopole use two dimensional arrays (array of array of TObect) instead of one dimensional one. This alows them to acces grid cell data by row and column numbers.

If you have tilemap with fixed tile size (all tiles are of the same size) you can easily calculate which tiles are in your viewport from your camera position. For instance:
Camera position is on X row and your viewport would render 21 rows. This would mean that you would need to check tile information in rows from X-10 to row X+10.
Similary you calculate which columns would be rendered.
So you end up having all necessary information to use for lops for reading information

Another approach would be dividing your map into sections (chunks).

Anyway if you provide more information about your game and general map structure we would be able to offer you better advice particulary more suitable to your game.