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

Conversão ToInt.

Fiz uma adptacao no codigo switch para pedir a entrada de um valor pelo usuario. Quando o usuario insere um valor no Console.ReadLine() preciso converter para Int. Mas ele não aceita apenas int, pede um valor(ToInt16), qual seria a explicacao? Segue abaixo o código.

Obrigado!

using System; using System.ComponentModel.Design;

class Programa { static void Main(string[] args) { int mes;

    Console.WriteLine("Digite um mes!");
    mes = Convert.ToInt16(Console.ReadLine());     

    switch (mes)
    {
        case 1:
            Console.WriteLine("O mês é Janeiro");
            break;
        case 2:
            Console.WriteLine("O mês é Fevereiro");
            break;
        case 3:
            Console.WriteLine("O mês é Março");
            break;
        case 4:
            Console.WriteLine("O mês é Abril");
            break;
        case 5:
            Console.WriteLine("O mês é Maio");
            break;
        case 6:
            Console.WriteLine("O mês é Junho");
            break;
        case 7:
            Console.WriteLine("O mês é Julho");
            break;
        case 8:
            Console.WriteLine("O mês é Agosto");
            break;
        case 9:
            Console.WriteLine("O mês é Setembro");
            break;
        case 10:
            Console.WriteLine("O mês é Outubro");
            break;
        case 11:
            Console.WriteLine("O mês é Novembro");
            break;
        case 12:
            Console.WriteLine("O mês é Dezembro");
            break;
        default:
            Console.WriteLine("Mês inválido");
            break;
    }
}

}

1 resposta
solução!

O tipo de dados "int" na verdade é um inteiro de 32 bits - é o mesmo que um Int32. Esse Int16 é equivalente a um short (um inteiro de 16 bits).

Você tem duas opções:

int valor = Convert.ToInt32("99");

Ou fazer assim:

int valor = int.Parse("99");