Eu gostaria de entender melhor sobre a utilização do sinal de exclamação no seguinte trecho de código:
string nomeDaBanda = Console.ReadLine()!;
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Eu gostaria de entender melhor sobre a utilização do sinal de exclamação no seguinte trecho de código:
string nomeDaBanda = Console.ReadLine()!;
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!