Usar o operador == para fazer uma verificação de valor null pode resultar em um comportamento inesperado pois este operador pode ser reescrito.
Exemplo
public void UsingTheEqualsOperator() { var entity = GetEntityById(17); if (entity == null) { //do something } }
Para evitar esse problema, use o operador is para realizar uma verificação verdadeira
Exemplo
public void UsingTheIsOperator() { var entity = GetEntityById(17); if (entity is null) { //do something } }
Creditos
Autor: Milan Jovanović
LinkedIn: https://www.linkedin.com/in/milan-jovanovic/
Link Original: Are you performing your null-checks in C# properly?
Tradução: Leandro Lisura