This is a purely academic question, but what's the difference between using == and .Equals within a lambda expression and which one is preferred?
Code examples:
int categoryId = -1;
listOfCategories.FindAll(o => o.CategoryId == categoryId);
or
int categoryId = -1;
listOfCategories.FindAll(o => o.CategoryId.Equals(categoryId));
For reference types, == is intended to communicate reference equality — do the two variables refer to the same object instance..Equals()
is intended to communicate value equality — do the two probably different object instances referred to by the two variables have the same value, for some definition of "same" that you provide by overloading the method.
For value types, those two meanings are blurred.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With