Boa tarde, fiquei com dificuldade em entender o funcionamento do contador interno, vamos lá!
Tanto o contadorLinha quanto o contadorColuna começam em 0. Então quando chega no IF, os contadores estão iguais, então escreveu a primeira linha. Agora vem a dúvida, quando volta pro for externo o contadorLinha vai pra 1 e na minha mente o contadorColuna também vai pra 1, então o IF será "TRUE" porque os dois contadores são iguais, então teria que sair de novo usando o break. Como na segunda passada do for ele vai escrever os 2 asteriscos?
for (int contadorLinha = 0; contadorLinha < 10; contadorLinha++)
{
for (int contadorColuna = 0; contadorColuna < 10; contadorColuna++)
{
Console.Write("*");
if (contadorColuna >= contadorLinha)
break;
}
Console.WriteLine();
}
Console.ReadLine();