Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Exceção ao executar o projeto em .NET 6

Boa tarde. Estou fazendo o projeto em NET6. Ao executar o mesmo, ele deu a seguinte exceção:

System.FormatException
  HResult=0x80131537
  Message=Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
  Source=System.Private.CoreLib
  StackTrace:
   em System.Text.StringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args)
   em System.IO.StreamWriter.WriteFormatHelper(String format, ParamsArray args, Boolean appendNewLine)
   em System.IO.StreamWriter.WriteLine(String format, Object arg0)
   em System.IO.TextWriter.SyncTextWriter.WriteLine(String format, Object arg0)
   em System.Console.WriteLine(String format, Object arg0)
   em Program.<Main>$(String[] args) em C:\projetos\AluraTunes\AluraTunes\AluraTunes\Program.cs:linha 15

Código da Program.cs:

using AluraTunes;

//listar todos os gêneros que tenham a palavra rock
var generos = new List<Genero>
{
    new Genero{ Id = 1, Nome = "Rock"},
    new Genero{ Id = 2, Nome = "Reggae"},
    new Genero{ Id = 3, Nome = "Rock Progressivo"},
    new Genero{ Id = 4, Nome = "Punk Rock"},
    new Genero{ Id = 5, Nome = "Clássica"},
};

foreach(var genero in generos)
{
    Console.WriteLine("{0}\t{1}" + genero.Id, genero.Nome);
}

Console.ReadKey();

Código da classe Genero.cs (criei separado):

namespace AluraTunes
{
    public class Genero
    {
        public int Id { get; set; }
        public string Nome { get; set; }
    }
}
1 resposta
solução!
Entao o problema e o sinal de +
Console.WriteLine("{0}\t{1}" + genero.Id, genero.Nome);

Coloque dessa forma
Console.WriteLine("{0}\t{1}", genero.Id, genero.Nome);