1
resposta

Imprime mas apresenta erro CS8618 e CS0649

Estou usando VSCode isso seria normal?

class Musica
{
    public string artista;//Como a classe está em outro arquivo deve declarar public para se tornar acessivel
    public string nome;
    public int duração;
    public bool disponivel;
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Ivan! Tudo bem?

Os erros CS8618 e CS0649 que você está enfrentando estão relacionados a campos não inicializados e a campos que não são utilizados. Vamos resolver isso!

CS8618: Campo não anulável precisa conter um valor não nulo

Esse erro ocorre porque você declarou campos como string (que são não anuláveis por padrão), mas não os inicializou. Para resolver, você pode:

  1. Inicializar os campos com valores padrão.
  2. Tornar os campos anuláveis usando ?.

Exemplo:

class Musica
{
    public string artista = string.Empty; // Inicializando com uma string vazia
    public string nome = string.Empty;
    public int duracao;
    public bool disponivel;
}

Ou, tornando-os anuláveis:

class Musica
{
    public string? artista; // Campo anulável
    public string? nome;
    public int duracao;
    public bool disponivel;
}

CS0649: Campo nunca é atribuído

Esse aviso aparece porque o campo disponivel não está sendo usado. Para resolver, certifique-se de atribuir um valor a ele em algum momento do seu código:

musica1.disponivel = true; // Ou false, conforme necessário

Ajuste seu código para inicializar os campos ou torná-los anuláveis e atribua valores aos campos que não estão sendo usados. Isso deve resolver os avisos.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.