Yes, it would, and that's the point here. IPAddress.Any is a static member of the type referring to instance that should be used in place of 0.0.0.0 . Thus the comparison is just fine. Additionally, Equals  performs reference equality check but it it also considers the two objects to be the same if both are null, which is not a desired side effect here. Also, if the objects aren't the same reference it will call obj1.Equals (obj2), all of this adding to unnecessary overhead.