3
respostas

[Dúvida] Alguem sabe como concertar esse erro ? Unhandled exception. System.IO.IOException: Identificador inválido.

estou no inicio do curso de C# mas não estou conseguindo dar continuidade por conta do visual code não estar rodando o codigo Insira aqui a descrição dessa imagem para ajudar na acessibilidade essa é a imagem que aparece de erro

// Screen Sound
string mensagemDeBoasVindas = "Boas vindas ao Screen Sound";
List<string> listaDasBandas = new List<string> { "U2", "The Beatles", "Calypso"};  

void ExibirLogo()
{
    Console.WriteLine(@"

░██████╗░█████╗░██████╗░███████╗███████╗███╗░░██╗  ░██████╗░█████╗░██╗░░░██╗███╗░░██╗██████╗░
██╔════╝██╔══██╗██╔══██╗██╔════╝██╔════╝████╗░██║  ██╔════╝██╔══██╗██║░░░██║████╗░██║██╔══██╗
╚█████╗░██║░░╚═╝██████╔╝█████╗░░█████╗░░██╔██╗██║  ╚█████╗░██║░░██║██║░░░██║██╔██╗██║██║░░██║
░╚═══██╗██║░░██╗██╔══██╗██╔══╝░░██╔══╝░░██║╚████║  ░╚═══██╗██║░░██║██║░░░██║██║╚████║██║░░██║
██████╔╝╚█████╔╝██║░░██║███████╗███████╗██║░╚███║  ██████╔╝╚█████╔╝╚██████╔╝██║░╚███║██████╔╝
╚═════╝░░╚════╝░╚═╝░░╚═╝╚══════╝╚══════╝╚═╝░░╚══╝  ╚═════╝░░╚════╝░░╚═════╝░╚═╝░░╚══╝╚═════╝░
");
    Console.WriteLine(mensagemDeBoasVindas);
}

void ExibirOpcoesDoMenu()
{
    ExibirLogo();
    Console.WriteLine("\nDigite 1 para registrar uma banda");
    Console.WriteLine("Digite 2 para mostrar todas as bandas");
    Console.WriteLine("Digite 3 para avaliar uma banda");
    Console.WriteLine("Digite 4 para exibir a média de uma banda");
    Console.WriteLine("Digite -1 para sair");

    Console.Write("\nDigite a sua opção: ");
    string opcaoEscolhida = Console.ReadLine()!;
    int opcaoEscolhidaNumerica = int.Parse(opcaoEscolhida);
    
    switch (opcaoEscolhidaNumerica)
    {
        case 1: RegistrarBanda();
            break;
        case 2: MostrarBandasRegistradas();
            break;
        case 3: Console.WriteLine("Você escolheu a opção " + opcaoEscolhidaNumerica);
            break;
        case 4: Console.WriteLine("Você escolheu a opção " + opcaoEscolhidaNumerica);
            break;
        case -1: Console.WriteLine("Tchau tchau :)");
            break;
        default: Console.WriteLine("Opção inválida");
            break;
    }
}

void RegistrarBanda()
{
    Console.Clear();
    Console.WriteLine("**********************");
    Console.WriteLine("Registro de bandas");
    Console.WriteLine("**********************\n");
    Console.Write("Digite o nome da banda que deseja registrar: ");
    string nomeDaBanda = Console.ReadLine()!;
    listaDasBandas.Add(nomeDaBanda);
    Console.WriteLine($"A banda {nomeDaBanda} foi registrada com sucesso!");
    Thread.Sleep(2000);
    Console.Clear();
    ExibirOpcoesDoMenu();
}

void MostrarBandasRegistradas()
{
    Console.Clear();
    Console.WriteLine("************************************");
    Console.WriteLine("Exibindo todas as bandas registradas");
    Console.WriteLine("************************************\n");
    
    //for (int i = 0; i < listaDasBandas.Count; i++)
    //{
        //Console.WriteLine($"Banda: {listaDasBandas[i]}");
    //}

    foreach (string banda in listaDasBandas)
    {
        Console.WriteLine($"Banda: {banda}");
    }

    Console.WriteLine("\nDigite uma tecla para voltar ao menu principal");
    Console.ReadKey();
    Console.Clear();
    ExibirOpcoesDoMenu();
    
}

ExibirOpcoesDoMenu();

e esse é o codigo

3 respostas

Olá, Renan! Tudo bem?

Testei o código que você compartilhou e ele rodou sem problemas.

Então, peço que verifique se o Visual Studio está devidamente configurado para executar aplicações de console C#. Certifique-se de que você tem o .NET SDK instalado.

Em caso de dúvida consulte essa atividade:

Espero que essa solução ajude a resolver o problema e bons estudos!

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

onde eu vejo para me certificar que io .NET SDk está instalado?

Eu tenho crtz que eu instalei mas seria apenas para ver msm se está instalado na minha maquina

Bom dia, Renan!

Você pode verificar se o .NET SDK está instalado na sua máquina usando o terminal, então, abra o Prompt de Comando(cmd) ou o PowerShell e digite o seguinte comando:

dotnet --version

Se o SDK estiver instalado, você verá a versão do .NET SDK instalada.

Caso ele não esteja instalado, será necessário instalar um pacote. Então, clique no botão do "Windows" no seu teclado e pesquise "Visual Studio Installer" e ao abri-lo, procure a opção "modificar".

Com isso será aberto uma nova aba, onde nela você deve buscar o pacote com o nome "Desenvolvimento para desktop com .NET", marque ela e clique na opção de instalar.

No mais, caso tenha mais dúvidas ou problemas, estarei à disposição!