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

Utilização do sinal de exclamção

Eu gostaria de entender melhor sobre a utilização do sinal de exclamação no seguinte trecho de código:

    string nomeDaBanda = Console.ReadLine()!;
1 resposta
solução!

Olá Victor, tudo bem?

Segue uma breve explicação:

!: O operador ! é usado aqui para indicar que não é esperado um valor nulo (null) como resultado da chamada Console.ReadLine().

Os operadores de supressão, também conhecidos como operadores de supressão de null ou null suppression operators, são recursos introduzidos no C# 8.0 para facilitar a manipulação de valores possivelmente nulos (null).

Existem dois operadores de supressão de null:

! (operador de supressão de null): É usado após uma expressão que possa retornar um valor nulo para indicar que o valor não é nulo. Por exemplo, Console.ReadLine()! indica que Console.ReadLine() não deve retornar um valor nulo, evitando a necessidade de uma verificação separada.

?. (operador de supressão de null condicional): É usado para acessar propriedades ou chamar métodos de um objeto que pode ser nulo. Se o objeto for nulo, a expressão inteira será avaliada como nula em vez de lançar uma exceção de referência nula.

Os operadores de supressão de null ajudam a simplificar o código, reduzindo a necessidade de verificações desnecessárias de nulos, mas é importante usá-los com cuidado e garantir que você esteja ciente das possíveis exceções de referência nula que possam ocorrer.

Link da documentação para complementar: https://learn.microsoft.com/pt-br/dotnet/csharp/language-reference/operators/null-forgiving

Espero ter ajudado!