C# Работа цикла

Подскажите пожалуйста из за чего второй раз выводится символ #


namespace Test
{
    class Program
    {
        static void Main(string[] context)
        {
            char[,] map = ReadMap();
            DrawMap(ref map);
            Console.ReadKey();
        }

        static char[,] ReadMap()
        {
            char[,] map = new char[5, 10];

            for (int i = 0; i < map.GetLength(0); i++)
            {
                for (int j = 0; j < map.GetLength(1); j++)
                {
                    map[i, j] = '.';
                }
            }
            return map;
        }

        static void DrawMap(ref char[,] map)
        {
            int count = 1;
            Random random = new Random();
            for (int i = 0; i < map.GetLength(0); i++)
            {
                for (int j = 0; j < map.GetLength(1); j++)
                {
                    int mapX = random.Next(1, map.GetLength(0) - 1);
                    int mapY = random.Next(1, map.GetLength(1) - 1);
                    Console.Write(map[i, j]);
                    if (map[mapX, mapY] == '.' && count > 0)
                    {
                        Console.Write(map[mapX, mapY] = '#');
                        count--;
                    }
                }
                Console.WriteLine();
            }
        }
    }
}```

Ответы (2 шт):

Автор решения: Igor

Ваши случайные индексы могут соответствовать элементу массиву, который Вы еще не прошли в двойном цикле.

→ Ссылка
Автор решения: Fle2x
Console.Write(map[mapX, mapY] = '#');

Изменил на

map[mapX, mapY] = '#';

и все как надо заработало )

→ Ссылка