Fala galera, espero que estejam bem!
Ao fim do vídeo "Foreach para cada música" é dito que usamos o for para poder termos o índice, ou o foreach para escrever menos código, mas sem ter o índice, entretanto, há um pequeno truque em C#, que nos permite usar o foreach, e ainda assim ter o índice à nossa disposição, que é usando um método chamado Select, e a sua implementação é bem simples:
foreach (var band in bands.Select((value, i) => new {i, value})){
Console.WriteLine($"{(band.i + 1)} - {band.value}");
}
Para cada banda, ele vai selecionar o valor (nome da banda) e o seu índice atual, a partir daí, ele cria dentro do escopo do for, na própria variável band/banda como propriedades de um objeto anônimo, criado pelo Select.