Index out of range, cant find error

Hi all!

I have a simple script in c# to generate world tiles, but when i try to run it it gaves me an index out of range error, here is my script.

using UnityEngine;
using System.Collections;

public class Tilemap : MonoBehaviour {


    public TileType[] tileTypes;

    int[,] tiles;

    int mapSizeX = 10;
    int mapSizeY = 10;

    void Start()
    {
        // Allocate our map tiles
        tiles = new int[mapSizeX,mapSizeY];

        //Initialize our map tiles.
        for (int x=0; x<mapSizeX; x++)
        {
            for (int y = 0; y < mapSizeY; y++)
            {
                tiles[x,y] = 0;
            }
  
        }
            
        GenerateMapVisual();



    }




    void GenerateMapVisual()
    {
        for (int x = 0; x < mapSizeX; x++)
        {
            for (int y = 0; y < mapSizeY; y++)
            {

//Here is the error shown, i tried without this line with a debug.log and it works, so the error must be in this line (below)

                *TileType tt = tileTypes[ tiles[x,y] ];*

                Instantiate(tt.tileVisual, new Vector3(x, y, 0), Quaternion.identity);


            }

        }

    }

}

It’s the tileTypes. You never assign a value to it thus it has a length of 0.

Well thanks for your answer, but im kinda lost in this, i know how to use int arrays etc but not how to assign a value to a class array :/, if you can give me a tip i will be thankfull.