ReSharper się pomylił

Ciekawostka

ReSharper sugeruje, że wyrażenie będzie zawsze true, więc zastąpmy je już teraz.

Jednak gdy ten kod się wykona ujrzymy:

Boxing

Związane jest to z tym, że object.ReferenceEquals(object objA, object objB) pobiera obiekty, więc inty muszą przejść boxing. Najpierw pierwszy argument zostanie opakowany w referencję, a następnie ten sam argument zostanie opakowany w inną już referencję. Porównanie tych dwóch referencji daje bardzo słuszne false.

Niemniej czuję się oszukany przez R# 😉

Na pomysł wpadłem czytając wpis Zrozumieć Equality.

Reklamy
Ten wpis został opublikowany w kategorii Uncategorized i oznaczony tagami , . Dodaj zakładkę do bezpośredniego odnośnika.