Victor,
A idéia é ler somente o primeiro caracter da lista.
Exemplo, coloquei um "CW" para ler o valor da variável "opção":
//...
Console.WriteLine("\n\n");
Console.Write("Digite a opção desejada: ");
try
{
opcao = Console.ReadLine()![0];
Console.WriteLine(opcao);
}
catch (Exception excecao)
{
throw new ByteBankException(excecao.Message);
}
//...
Veja que a saída é somente o caracter "6"
A vairável "opção" é um "char" e NÃO aceitaria mais que 1 caractere.
char opcao = '0';
Por favor, leia também:
===============================================================
MÉTODOS DIFERENTES PARA LER UM CARACTERE EM C#
Em C# , sabemos que o método Console.Read() é usado para ler um único caractere do dispositivo de saída padrão. E também existem diferentes métodos disponíveis para ler o único caractere. Os seguintes métodos podem ser usados para este propósito:
- Método Console.ReadLine() [0]
- Método Console.ReadKey(). KeyChar
- Método Char.ExperimenteParse()
- Método Convert.ToChar()
Método Console.ReadLine() [0]
Desde então, o método Console.ReadLine() é usado para ler uma string e string é o conjunto de caracteres. Assim, o primeiro caractere pode ser extrato usando 0 th Index. Assim, Console.ReadLine() [0] pode ser usado para ler um único / primeiro caractere.
Sintaxe:
char_variable = Console.ReadLine()[0];
...
https://acervolima.com/metodos-diferentes-para-ler-um-caractere-em-c/
===============================================================
Diferentes métodos para ler um caractere em C #
https://www.includehelp.com/dot-net/methods-to-read-a-character-in-c-sharp.aspx
===============================================================
Esqueci o que era a "!"... era para excluir o null?!?
[]'s,
Fabio I.