I have an IPEndPoint a and b, whose IPAddress and Port are exactly the same, but the == operator is on the IPEndPoint not returning true. To make things even stranger, I tried to circumvent the problem by simply comparing the IPAddress and Port individually and it is STILL not returning true.
Has anyone encountered this before? If so, I am all ears to performant solutions. We have collections of as many as 10k IPEndPoints and are querying into them via LINQ (PLINQ pretty soon).
Both IPEndPoint and IPAddress don’t implement the == operator. By default, the == operator compares if the two objects are the same reference, not if they represent the same value.
Use the IPAddress.Equals / IPEndPoint.Equals methods instead.