1
resposta

Metodo .Equals()

Gostaria de saber por que, ao compararmos o id do produto com a variavel idDaInformatica, devemos usar o metodo .Equals() e passar como parametro aquilo com que estamos comparamos

produto.CategoriaId.Equals(idDaInformatica)

, enquanto que, para comparar o preco do produto com o valor 100, podemos acessar a propriedade diretamente.

produto.Preco < 100
1 resposta

Olá Tiago,

Não é obrigatório, é só uma maneira de realizar a comparação. Você pode estar realizando a comparação diretamente utilizando == neste caso que iria obter o mesmo resultado. Porém, o método Equals pertence à classe Object, de onde todos os demais objetos herdam este método, ou seja, ele pode ser sobrescrito e realizar uma comparação mais complexa do que apenas um comparação entre dois valores primitivos (int, double, decimal, string). Para realizar a comperação entre dois objetos, apenas "==" iria comparar as referências para a memória, e não os valores, mesmo que seus atribuitos sejam idênticos eles seriam diferentes.

Espero ter ajudado. Att.