You should not reprint all the map for each cycle. The better way is to use Console.SetCursorPosition method and rewrite just modified symbols:
foreach(var changedSymbol in changes)
{
    Console.SetCursorPosition(changedSymbol.Row, changedSymbol.Column)
    Console.Write(changedSymbol.Value);
}
1
solved How to make small changes for console output without repeating all unchanged values